我有一个项目需求,我想在 android/iphone 中制作一个即时通讯应用程序,将来可能会支持 voip 和视频聊天。
现在我有两个选择
1) xmpp - 它是 IM 的应用层协议(protocol),已有将近 10 年的历史,它有很多扩展支持 voip 或者可能是视频聊天、在线/离线状态和许多其他功能。 whatsapp,fb,Skype等所有大公司都接受它
我还听说谷歌因为漏洞已经放弃了这个协议(protocol)。
2) websocket - 它是 tcp 层协议(protocol),通过单个 tcp 连接提供全双工通信,它是新的,在 2011 年由 IETF 标准化。我不知道这个协议(protocol)是否主要用于 IM。但我知道它可以像在 tcp 层中那样完成。除了 4 种方法(即 onOpen、onClose、onMessage 和 onError)之外,我没有看到或听到任何 web socket 的特性/扩展。所以这意味着如果我选择这个,我必须制定自己的在线/离线状态方法(可能每“x”秒/分钟发送一个帧)、voip、消息传递信息和其他功能等。
我很困惑,在开发、服务器处理成本、安全性、 session 处理管理、浏览器支持等方面,我选择哪个,xmpp 还是 web socket。
如果我对这 2 个协议(protocol)有任何错误,请纠正我。
提前致谢
最佳答案
Google 未在 XMPP 中发现漏洞。
您可以使用 draft-ietf-xmpp-websocket 通过 WebSockets 使用 XMPP ,这将很快成为一个 RFC。
关于android - 通过 xmpp 或 websocket 进行即时消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23597203/