PDA

Click to See Complete Forum and Search --> : How would ya make an Instant Messenger?


Xero
Sep 27th, 2000, 04:46 PM
How would one go about making an instant messanger simlilar to AOL IM or Yahoo IM or MSN IM or ICQ?

Crypt
Sep 28th, 2000, 12:12 AM
this is kinda a generalised question a bit hard to answer it depends how you want to do it really, if you wanted to do something to the extend of msn im or icq it would be quite hard.

you would obviously do it with either the winsock control of a control like winsock made by someone else, or the winsock api calls, and make a client server program.

If you wanted to do it the msn im way then you would have everything running completely through the server, what I mean by this is when someone sends an instant message it would be sent to the server then forwarded onto the appropriate person/peoples, also as soon as someone logged on if you did it the msn way you would have to open a file which stored there list of people and send it to them, as well. and you would either have to have a file which contains the information to who is to be let know that the user has logged in, or you could do it an easier way and get the client to actually request who's online in there list say every 10 seconds, and you would probably use the treeview control to show the list.

but for something like icq you might have direct connection to a user for a message or whatever, which means that the server computer is not under as much strain, but you would loose security for your chatters (as alot of people know icq is probably one of the least safe instant messanging programs due to how easy it is to get someones ip because of direct connection but I think there is an option to not allow direct connection but there are flaws in the server to get someones ip from icq without a direct connection to them).

the server would probably be the easiest part though (well the way I look at it) because all it really has to do is forward or gather the data and send it on its way, the client has to really interpret and display that data in a way the user can understand, and create data on the fly and forward it to the server which can then forward it to someone elses client to understand and display.