ios - 用于移动聊天应用程序的 Socket.io 与 xmpp

标签 ios socket.io xmpp

我必须在 iOS 中构建一个实时聊天应用程序,以后还可以进行语音和视频通话。我想使用与后端集成的可扩展且轻量级的解决方案,确保该解决方案将来也支持调用。 我不太确定 socket.io 是否支持语音和视频通话;我应该使用那个还是 xmpp?或者任何其他类似的解决方案?

最佳答案

正如上面所写,socket.io 是一个使用 Websockets 的聊天服务器实现,而 XMPP 是一个协议(protocol)。 在这种情况下,我建议使用 XMPP 聊天服务器。 对于音频/视频通话实现,您需要通过 XMPP 实现信令,以便在通话前在设备之间建立连接。 此外,对于音频/视频聊天实现,您将需要 STUN/TURN/ICE 服务器,如果您选择 WebRTC 点对点选项,则需要添加客户端实现以从点对点传递媒体流。

还有一个更简单的方法。您可以使用现成的基于 XMPP 的服务器和 SDK 来构建您的应用程序。例如,ConnectyCube提供此类服务。 他们有现成的后端和 SDK,您可以使用它们来构建聊天和音频/视频聊天应用程序。而且他们已经有一个 TURN 服务器,所以你也不需要担心这部分。

关于ios - 用于移动聊天应用程序的 Socket.io 与 xmpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46246192/

相关文章:

mysql - node.js/express/mysql/serialport/socket.io

java - 从 GAE 到 Google+ 的 XMPP 回复不起作用

ios - 无法使用 RestKit 0.20 从核心数据中删除实体

node.js - 使用 Node js 一步步创建 webrtc 视频、语音通话和文件传输 Q-A

iOS - 如何在 View Controller 中设置导航栏项目?

c# - 类型 "Action<T1,T2,T3>"存在于 2 个 DLL 中,如何指定使用哪一个或避免使用一个?

android - 应用程序是否需要对在 FCM 中使用和不使用 delivery_receipt_requested 收到的消息采取不同的操作?

java - 如何使用 talk.google.com 执行 OAUTH2.0 Smack XMPP 身份验证

ios - NSLog 不会从 ViewController 类输出,但会从 AppDelegate 类输出。 iOS :Objective C

ios - 设置 navigationController.viewControllers 会导致堆栈困惑