通过xmpp或websocket进行即时通讯

我有项目要求,我想在android / iphone中做一个即时通讯应用程序,并可能在未来它支持voip和video聊天。

现在我有2个select

1)xmpp – 即时通讯的应用层协议,已经有近10年的历史了,它有很多支持voip的扩展,或者可以是video聊天,在线/离线状态和其他许多function。 它被诸如whatsapp,fb,Skype等大公司所接受

另外我听说谷歌已经摆脱了这个协议,因为漏洞。

2)websocket – 它是tcp层协议,它通过一个单独的tcp连接提供全双工通信,它是新的,在2011年被IETF标准化。我不知道这个协议是否主要用于IM。 但是我知道它可以像在tcp层一样完成。 我没有看到或听到任何function/扩展的networking套接字除了4种方法(即onOpen,onClose,onMessage和onError)。 所以这意味着如果我select这个,我必须使自己的在线/离线状态的方法(可能是每“x”秒/分钟)发送一帧,voip,消息传递信息和其他function等。

我很困惑,从开发,服务器处理成本,安全性,会话处理pipe理,浏览器支持等方面来说,我selectxmpp还是web socket。

如果我对这两个协议有任何错误,请纠正我。

提前致谢

Google在XMPP中没有发现漏洞。

你可以通过使用draft-ietf-xmpp-websocket的 WebSocket来使用XMPP,这将很快成为RFC。