So I am a bit confused with the following terms already and how they interact.
I am new to IM creation and I want to know the best approach on how to go about this.

Anybody can explain them to me? I know ejabberd is a kind of open source IM Server, IMGateway is a commercial product to connect to ym, icq, gtalk, etc and XMPP is a protocol to connect to the server. However, I am confused on how they are going to be bundled altogether.

I hope you can help me.


If you want to write an IM server, just first google "java client server chat". You will get a ton of ideas. Basically, what you would have to do for the server side is choose a port number, create two serversockets based on that port, use a socket to accept from that serversocket, then start a thread to listen for input from the client to display and another thread to talk to the client. The client side would merely just have a main function and a thread runnable going at the same time, which would either listen or talk, and the main function would do the other.

thanks i actually don't want to create one, there is a commercial one available and I was planning to use that.

it is called IMGateway...