【问题标题】:Web Socket or XMPP ? Which is better for mobile application for making chat applicationsWeb 套接字还是 XMPP?哪个更适合移动应用程序制作聊天应用程序
【发布时间】:2017-01-05 05:56:10
【问题描述】:

我想创建一个聊天应用程序。我的聊天应用程序使用连续轮询和推送数据在 Web 服务器上作为实时聊天正常工作。但是,轮询对于移动应用程序来说并不是一个好的解决方案。因为,我们的整个聊天都已经构建为 HTTP Rest API,所以迁移到 XMPP 对我们来说意义重大。

所以,我们刚刚了解了 WebSocket。谁能建议我在这种情况下哪个更适合实时聊天。 WebSocket 非常快,我们也不需要从服务器连续轮询计时器。

如果有的话,请提出更好的选择,谢谢:)

【问题讨论】:

    标签: mobile socket.io xmpp chat libwebsockets


    【解决方案1】:

    XMPP 的一个创建目的是即时消息传递。它在 jabber.com 上有一个服务器,并且由于其开源性质,还可以自行设置服务器。但是,XMPP 是一个基于 XML 的应用程序协议,它不允许您进行一些特定的自定义。您也可能希望将 websockets 用作 XMPP 的传输协议(握手除外)以进行实时消息传递。

    由于 Websocket 会让你花一些力气编写自己的应用程序,你将获得力量按照自己的意愿设计它。

    您可以使用 websockets 的路径声明来声明不同的通道并将传入数据广播给所有连接的用户。由你决定。

    【讨论】:

    • 谢谢,还有一个非常重要的问题是电池耗尽。对于 android 和 iOS 应用程序的 Web Socket 是否会出现同样的问题,因为服务器和客户端之间存在定期实时连接,并且频繁断开连接可能会增加带宽,从而导致电池消耗增加。任何解决方案。
    • 实际上 websockets 不是为面向电池的设备设计的。您可以查看 mqtt 或 coap 以了解数据帧的缩小格式。 Mqtt 允许在没有外部检查的情况下无法在 websockets 中应用的 qos。
    • 糟糕,我应该从 Web Socket 开始。但是,有很多应用程序在移动应用程序中使用 Web Socket。 Slack 就是一个例子。我对 MQTT 不太了解。我是否也需要在服务器端为 MQTT 工作。
    • 好的,我明白了,你的意思是移动设备的电池。我以为你的意思是一个不可充电的设备。当然,对于移动开发者来说,websocket 是不错的选择。也许您想检查 socket.io 以了解服务器和移动端 websocket 的增量功能集。他们已经有了一个即时通讯的例子。
    • 是的,我也问过同样的问题,哪个是移动设备的更好选择。 XMPP、MQTT 或 Web 套接字。我必须以更可配置的方式为客户制作自己的 UI。我研究了很多方面,并通过 Web Socket 找到了解决方案。XMPP 也很好,但对于移动设备有很多与电池相关的故障。非常感谢先生的所有建议:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 2023-01-28
    • 2019-03-09
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多