我必须在iOS中构建一个实时聊天应用程序,以后还可以进行语音和视频通话。我想使用与后端集成的可扩展且轻量级的解决方案,以确保该解决方案将来也支持 call 。
我不太确定socket.io是否支持语音和视频通话。我应该使用那个还是xmpp?或任何其他类似的解决方案?
最佳答案
正如上面写的,socket.io是使用Websockets的聊天服务器实现,而XMPP是协议。
我建议在这种情况下使用XMPP聊天服务器。
对于音频/视频 call 的实现,您将需要通过XMPP实现信令,以在 call 之前在设备之间建立连接。
同样对于音频/视频聊天实现,您将需要STUN / TURN / ICE服务器,并且如果选择WebRTC对等选项,则将需要添加客户端实现以从对等传递媒体流。
还有一种更简单的方法。您可以使用现成的基于XMPP的服务器和SDK来构建您的应用程序。例如,ConnectyCube提供了这种服务。
他们有一个现成的后端和SDK,可用于构建聊天和音频/视频聊天应用。而且他们已经有了TURN服务器,因此您也不必担心这部分。