通过XMPP或WebSocket进行即时通讯

5
我有一个项目需求,希望在Android / iPhone上制作即时通讯应用程序,并且未来可能支持VoIP和视频聊天。现在我有两个选择:
1)XMPP-它是IM的应用层协议,已经存在了近10年,拥有许多扩展,支持VoIP或者视频聊天,在线/离线状态和很多其他功能。它被WhatsApp、Facebook、Skype等大公司所接受。但是听说Google因漏洞问题已经放弃了这个协议。
2)WebSocket-它是TCP层协议,提供单个TCP连接的全双工通信,是一个新的协议,于2011年由IETF标准化。我不知道是否主要用于IM,但 TCP层可以实现即时通讯。我没有看到或听说过WebSocket的其他功能/扩展,除了4种方法(即onOpen,onClose,onMessage和onError)。这意味着如果选择这个协议,则必须自己创建在线/离线状态(可能每“x”秒/分钟发送一帧),VoIP,消息传送信息和其他功能等等的方法。
我很困惑,应该选择XMPP还是WebSocket,从开发、服务器处理成本、安全性、会话管理处理和浏览器支持等方面来看。如果我对这两个协议有什么错误,请指正。先谢谢了。
1个回答

6

谷歌并未发现XMPP的漏洞。

您可以使用draft-ietf-xmpp-websocket通过WebSockets使用XMPP,这将很快成为RFC标准。


嘿Jeo,谢谢你的回复。我知道可以使用XMPP通过WebSocket来完成,但这还没有成为标准,所以我的上级并没有专注于此。无论如何,请问你能否从这两种协议中就开发、服务器处理成本等方面提供建议? - Sarfaraz Khan
5
我是XMPP工作组的联合主席。现在实施这个草案是安全的,它在成为RFC之前不会有实质性的改变,并且已经广泛地进行了互操作性生产。你正在问苹果和水果之间的区别。 - Joe Hildebrand

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接