首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有任何代理的MQTT嵌入式mosca

没有任何代理的MQTT嵌入式mosca
EN

Stack Overflow用户
提问于 2016-10-12 09:21:07
回答 2查看 2.7K关注 0票数 0

我想在一个嵌入式的方式使用node.js mosca MQTT代理。

从文档中看,嵌入式mosca似乎必须使用外部代理,如Mosquitto,AMQP,ZeroMQ,Redis。在独立mosca的情况下,不需要外部代理。是否可以运行嵌入式mosca,以便不使用类似于独立mosca的外部代理?

如果可以做到这一点,下面使用redis的代码应该如何修改?

代码语言:javascript
运行
复制
var mosca = require('mosca')

var ascoltatore = {
  type: 'redis',
  redis: require('redis'),
  db: 12,
  port: 6379,
  return_buffers: true, // to handle binary payloads
  host: "localhost"
};

var moscaSettings = {
  port: 1883,
  backend: ascoltatore,
  persistence: {
    factory: mosca.persistence.Redis
  }
};

var server = new mosca.Server(moscaSettings);
server.on('ready', setup);

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

// fired when a message is received
server.on('published', function(packet, client) {
  console.log('Published', packet.payload);
});

// fired when the mqtt server is ready
function setup() {
  console.log('Mosca server is up and running')
}
EN

回答 2

Stack Overflow用户

发布于 2016-12-07 20:46:54

下面是一个使用mosca以嵌入式方式运行的安全MQTT代理的完整源代码。

代码语言:javascript
运行
复制
var mosca = require('mosca')

var SECURE_KEY = __dirname + '/key.pem';
var SECURE_CERT = __dirname + '/cert.pem';

var settings = {
    port: 1883,
    logger: {
        name: "secureSample",
        level: 40,
    },
    secure : {
        port: 7998,
        keyPath: SECURE_KEY,
        certPath: SECURE_CERT,
    }
};
var server = new mosca.Server(settings);
server.on('ready', setup);

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

// fired when a message is received
server.on('published', function(packet, client) {
    console.log('Published', packet.payload);
});

// fired when the mqtt broker is ready
function setup() {
    console.log('Mosca embedded MQTT broker running now')
}
票数 3
EN

Stack Overflow用户

发布于 2016-11-20 21:09:05

Mosca是一个node.js mqtt broker,可以使用:

另一个Node.js应用程序中的

  • Standalone
  • Embedded

在可伸缩性方面,他们的文档指出

尽管Mosca是一个MQTT代理,但如果您需要向外扩展它,您需要使用另一个代理,因为它本身没有任何集群支持。它支持的一些代理如下:

MQTT是由@antirez.

  • MongoDB,创建的键/值存储,它是一种可伸缩的、高性能的、面向文档的database.

  • Mosquitto,以及所有MQTT protocol.

  • RabbitMQ和protocol.

  • ZeroMQ的实现,以便以P2P方式使用。

here 是他们的维基

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

https://stackoverflow.com/questions/39989111

复制
相关文章

相似问题

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