菜鸟教程小白 发表于 2022-12-13 06:05:10

android - 如何实现 MQTT 进行一对一的消息分发


                                            <p><p>我一直在研究 MQTT,我很好奇在尝试创建一对一通信系统时实现是如何工作的。</p>

<p><strong>我正在尝试做的事情:</strong>设置一个系统,允许 IOT 设备直接向其用户推送通知,并且用户可以通过 MQTT 代理向他们的 IOT 设备推送通知。</strong> p>

<p><strong>实现思路:</strong> </p>

<ol>
<li>所有设备都有一个单独的主题供每个用户订阅。</li>
<li>每台设备都发布到同一个主题,并带有一个标签,用于标识要向其传递消息的用户。</li>
</ol>

<p>下面是我创建的图片,展示了我如何看待实现的工作原理。
<img src="/image/tCIzc.png" alt=""/> </p>

<p><strong>更多信息:</strong>我需要一个可以扩展以包含 10 万多台设备的系统,但消息量极少(每天 1 条消息)</p>

<p><strong>布局:</strong></p>

<ul>
<li>物联网设备将通过 MQTT 向后端系统发送消息。</li>
<li>后台系统会接收到消息并存储在后台
结束。</li>
<li>Web-service(Dispatcher) 层将在
后端和移动应用程序。</li>
<li>移动应用将通过网络直接与物联网设备通信
服务。</li>
</ul>

<p><strong>问题:</strong> </p>

<ul>
<li>当预计会有大量用户时,MQTT Broker 如何实现一对一通信的主题?</li>
<li>主题有限制吗?</li>
<li>我在布局方面缺少什么?</li>
</ul></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我认为您对 MQTT(发布/订阅消息传递)的理解是不正确的。每个订阅特定主题的客户端都会收到消息。您提到的“标签”(<code>带有标识将消息传递给用户的标签</code>)是必须发布消息的主题名称。 </p>

<p>如果您想做一些特殊的消息分发,您必须创建一个客户端,该客户端将订阅一个主题,每个客户端都会向该主题发送消息,然后根据您的“值”将消息发送到特定的“客户端”主题标记”。</p></p>
                                   
                                                <p style="font-size: 20px;">关于android - 如何实现 MQTT 进行一对一的消息分发,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/29235049/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/29235049/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: android - 如何实现 MQTT 进行一对一的消息分发