如果用Java创建即时通信平台,哪种方式会更好地实现客户端和服务器之间的通信?我在考虑RMI或者仅仅是一个套接字连接。
请给我建议
谢谢
发布于 2010-08-13 03:21:16
我会使用直接套接字连接,使用众所周知的协议,如XMPP。您可以使用库(如smack)来避免自己实现整个协议。
与RMI或您自己开发的协议相比,XMPP的主要优势在于它是一个用于实现此目的的成熟协议: IM。
一些已经在使用XMPP的聊天服务包括Google chat (GTALK)和Facebook。
发布于 2010-08-13 03:25:27
我已经通过XMPP和Smack协议实现了这一点。
发布于 2010-08-13 04:48:56
CometD是专门为聊天室等用例设计的。与其他协议不同,它在HTTP端口80上工作,这意味着(几乎)没有防火墙的麻烦。
听听a recent podcast with Greg Wilkins关于该项目的一些细节,其中涉及实现聊天室的一些问题以及CometD如何处理它。
如果您需要在对话双方都有客户端(通常前端是JavaScript),我相信有一个用于CometD的Java客户端。
https://stackoverflow.com/questions/3471200
复制相似问题