如果用Java创建IM平台,这将是实现客户端和服务器之间通信的更好方法吗? 我在考虑RMI或只是套接字连接......
请咨询,
由于
答案 0 :(得分:7)
我会使用直接套接字连接,使用众所周知的协议,例如XMPP。您可以使用库(如smack)来避免自己实现整个协议。
XMPP相对于RMI或您自制协议的主要优势在于,它是一个完全用于此目的的完善协议:IM。
一些已经使用XMPP的聊天服务包括谷歌聊天(GTALK)和Facebook。
答案 1 :(得分:0)
我已经使用Smack API使用XMPP协议执行此操作。
答案 2 :(得分:0)
CometD专为聊天室等用例而设计。与其他协议不同,它可以在HTTP端口80上运行,这意味着(几乎)没有防火墙的麻烦。
听取关于该项目的a recent podcast with Greg Wilkins,其中详细介绍了实施聊天室以及如何处理CometD的问题。
我相信如果你需要在对话的两端都有客户端(通常是前端是JavaScript),那么CometD就有一个Java客户端。