首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mosca连续发送多条消息。

Mosca连续发送多条消息。
EN

Stack Overflow用户
提问于 2016-11-19 15:47:46
回答 2查看 595关注 0票数 0

我已经设置了一个运行Mosca的节点js服务器。客户端能够连接到Mosca服务器并发布消息。我需要以消息(订阅某个主题)的形式将确认发送回客户端。

一旦客户端发布消息,下面的代码将连续发送多条消息。我有遗漏什么吗?

代码语言:javascript
运行
复制
 var settings = {
    port: 1882,
    backend: ascoltatore
 };

 var message = {
   topic: 'crofters',
   payload: 'OK', // or a Buffer
   qos: 2

 };

 var server = new mosca.Server(settings);

 server.on('clientConnected', function(client) {
       console.log('client connected', client.id);


   });

   // fired when a message is received
server.on('published', function(packet, client ) {


    var packet_payload = packet.payload;
    packet_payload = packet_payload.toString();
    console.log('Published', packet_payload);

    server.publish(message, function() {
        console.log('done!');
    });


});

server.on('ready', setup);

function setup() {
   console.log('Mosca server is up and running');
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-22 21:28:51

事件侦听器server.on('published', function(packet, client){...}侦听每个发布事件,包括服务器的事件。

正在发生的情况是,当您在侦听器中使用server.publish(message, function(){...})时,它会触发另一个发布的事件,该事件会立即被侦听器捕获。

它从不停止发布,因为它从不停止捕捉自己的事件。

票数 2
EN

Stack Overflow用户

发布于 2016-11-20 20:04:07

我一直面临着类似的问题。如果您注意到,Mosca只有QoS 0和Qos 1。

因此,我认为代理尝试发送相同的消息不止一次,“至少一次”,直到它从客户端收到一些确认。看看这个文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40694799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档