2010-08-12 40 views
3

如果使用Java創建IM平臺,這將是實現客戶端與服務器之間通信的更好方式嗎? 我想無論是RMI或只是一個套接字連接...使用Java實現IM平臺

諮詢請,

感謝

回答

7

我會用直socket連接,使用衆所周知的協議,如XMPP。您可以使用庫(如smack)來避免自己實施整個協議。

XMPP比RMI或您自制的協議的主要優勢在於,它是一個完全用於此目的的完善協議:IM。

已經使用XMPP的一些聊天服務包括Google Chat(GTALK)和Facebook。

0

我已經使用Smack API使用XMPP協議執行了此操作。

+0

相關:http://stackoverflow.com/questions/177514/good-xmpp-java-libraries-for-server-side – Topera 2010-08-12 19:26:31

0

CometD專門爲像Chatrooms這樣的用例而設計。與其他協議不同,它可以在HTTP端口80上運行,這意味着(幾乎)沒有防火牆的麻煩。

聽取關於該項目的a recent podcast with Greg Wilkins,該項目涉及實施聊天室以及CometD如何處理問題的一些細節。

我相信如果你需要在對話的雙方都有客戶端(通常是前端是JavaScript),那麼CometD就有一個Java客戶端。