Freddie
Freddie

Reputation: 1707

Implementing a IM platform in Java

If creating an IM platform in Java, which would be a better way to implement communications between the clients and server? I was thinking either RMI or just a socket connection...

Advice please,

Thanks

Upvotes: 3

Views: 308

Answers (3)

Alexandre Rafalovitch
Alexandre Rafalovitch

Reputation: 9789

CometD has been specifically designed for use cases such as Chatrooms. Differently from other protocols, it works over HTTP port 80, which means (nearly) no hassles with Firewalls.

Listen to a recent podcast with Greg Wilkins about the project, which goes into some details of issues with implementing Chatrooms and how it gets handled by CometD.

I believe there is a Java client for CometD if you need to have client on both sides of conversation (normally frontend is JavaScript).

Upvotes: 0

Topera
Topera

Reputation: 12389

I already did this using Smack API, using XMPP protocol.

Upvotes: 0

Pablo Santa Cruz
Pablo Santa Cruz

Reputation: 181350

I would use straight socket connection, using a well known protocol such as XMPP. You can use a library (like smack) to avoid implementing the whole protocol yourself.

The main advantage of XMPP over RMI or your self-made protocol is that is a well established protocol used for exactly that purpose: IM.

Some chat services already using XMPP include Google Chat (GTALK) and Facebook.

Upvotes: 7

Related Questions