通过xmpp或websocket进行即时消息传递

Sar*_*han 5 android tcp xmpp websocket ios

我有项目要求,我想在android/iphone中制作即时通讯应用程序,并可能在将来它支持voip和视频聊天.

现在我有2个选择

1)xmpp - 它是IM的应用层协议,已有近10年的历史,它有很多支持voip的扩展,或者可能是视频聊天,在线/离线状态以及许多其他功能.它被whatsapp,fb,Skype等所有大公司所接受

另外我听说谷歌因为漏洞而放弃了这个协议.

2)websocket - 它是tcp层协议,它通过单个tcp连接提供全双工通信,它是新的,它在2011年由IETF标准化.我不知道该协议是否主要用于IM.但我知道它可以在tcp层中完成.除了4种方法(即onOpen,onClose,onMessage和onError)之外,我没有看到或听到任何Web套接字的功能/扩展.所以这意味着如果我选择这个,我必须制作我自己的在线/离线状态方法(可能每隔"x"秒/分钟发送一个帧),voip,消息传递信息和其他功能等.

我很困惑,我选择哪一个,xmpp或web socket,在开发,服务器处理成本,安全性,会话处理管理,浏览器支持等方面.

如果我对这两个协议有任何不妥之处,那么请纠正我.

提前致谢

Joe*_*and 6

谷歌没有在XMPP中发现漏洞.

您可以使用draft-ietf-xmpp-websocket在WebSockets上使用XMPP ,它很快就会成为RFC.

  • 我是XMPP工作组的联合主席.该草案现在可以安全实施,在它成为RFC之前不会有实质性的变化,并且已经在广泛的可互操作的生产中.你问的是苹果和水果之间的区别. (5认同)