【问题标题】:Socket.io vs xmpp for a mobile chat app用于移动聊天应用程序的 Socket.io 与 xmpp
【发布时间】:2017-09-15 19:16:30
【问题描述】:

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

【问题讨论】:

  • xmpp 是一个协议,而 socket.io 是一个实时通信服务器实现。这就像将手机与网络运营商进行比较。据我所知,socket.io 只处理 websockets,而 websockets 不适合传输语音或视频之类的东西,如果你愿意,你需要在用户之间协商一个 p2p 会话(也许 p2p 会话将使用 webRTC)去做这个。如果我没记错的话,这就是 xmpp jingle 扩展所发生的事情。在打开音频的 p2p 会话之前,在 XMPP 通道上进行了协商。

标签: ios socket.io xmpp


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2023-01-28
    • 1970-01-01
    • 2018-01-29
    • 2012-08-11
    • 2011-01-28
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多