我有一个项目需求,希望在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)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,从开发、服务器处理成本、安全性、会话管理处理和浏览器支持等方面来看。如果我对这两个协议有什么错误,请指正。先谢谢了。