如何使用MQTT实现whatsapp类型的messenger?
我想使用MQTT协议实现一个messenger,就像whatsapp一样。 我应该阅读哪些教程 我对几件事感到困惑:如何使用MQTT实现whatsapp类型的messenger?,mqtt,instant-messaging,messenger,Mqtt,Instant Messaging,Messenger,我想使用MQTT协议实现一个messenger,就像whatsapp一样。 我应该阅读哪些教程 我对几件事感到困惑: 我应该如何实现消息传递的主题结构?(目前我正在使用/domainname/phonenumber/(如果电话A需要向电话B发送消息,它将向/domainname/B/发布消息) 如果客户端B脱机并在一段时间后联机,当客户端脱机时,它将如何接收发送给他的消息(到topic/domainname/B/) 我如何实现发送/交付/读取确认 我知道这些都是非常基本的问题,但不幸的是,我找不
在与已经在MQTT中实现了大规模messenger部署的人员交谈之后,我得出结论,MQTT应该只作为一个协议使用。发布/订阅是一个好的开始,但您应该有一个自己的业务逻辑层,以实现灵活性和性能。但是,您可以使用发布/订阅来实现大多数基本的messenger需求ree,但您将受限于它,以后将很难扩展它
我已经通过react本机客户端实现了基本的
mqtt
功能,它能够使用标准mqtt服务器发送/接收消息,并且所有代码都已集成到rnset项目中,这是一个github react本机项目。您可以从中查看。
运行
rnset
后,您可以从rnset->功能(演示)->MQTTChat
rnset/qmtt/mqttbox;
事实上,rnset/mqtt演示在我的iPhone7p上运行4G,而mqttbox在我的Mac上运行,可以同时接收消息
UI-IPhone/Mac:
我正在使用mqtt://test.mosquitto.org 对于第2点,是否有“cleansession”启用?因为它在订户联机时未返回消息。cleansession是一个客户端选项而不是代理选项。它还依赖于客户端id相同。阅读此内容以获得更好的解释,如果您得到了解决方案,请与已实施大规模部署的人员分享?@Toomuchtolearn Yupmessenger部署在MQTT中,我的结论是MQTT应该只是一个协议。Pub/Sub是一个好的开始,但您应该有一个自己的业务逻辑层,以实现灵活性和性能。但是,您可以使用Pub/Sub树来实现它,但您将受到限制,并且以后将很难扩展。比如说whatsapp键入app我们有太多的选择“XMPP”和
MQTT
。我听说MQTT非常轻,所以对电池友好,但是XMPP比MQTT太重。那么你对这两种类型有什么看法?你会怎么做?你说的是什么限制?MQTT与音频视频流配合得好吗?顺便问一下,mqttd客户端emo正在使用我自己的服务器,并且在我家运行emqtt。虽然您的链接可能有助于操作,但最好在此处包含要点。请编辑您的原始答案,而不是发布新答案