从英特尔Edison主板连接到mosquitto服务器

时间:2017-09-07 07:47:13

标签: mqtt mosquitto intel-edison

我试图通过在英特尔Edison主板上运行以下脚本来连接到本地安装的Mosquitto服务器 -

var client = mqtt.connect("ws://localhost:9001");

client.on('connect', () => {  
    console.log("connected");
})

但是从不调用connect事件或日志。请注意,当我尝试使用 -

从网页上调用此内容时
var client = new Paho.MQTT.Client("localhost", 9001, "clientId");
client.connect(options);

这很有效。

问题是从爱迪生董事会连接。有没有人面对这个问题?

1 个答案:

答案 0 :(得分:1)

在评论中被淘汰,

代理未在Edison上运行,因此您无法使用login(email, password) : Promise { const url = `http://127.0.0.1/token/auth`; return this.http.post<LoginResponse>(url, {email: email, password: password}) .toPromise().then(loginResponse => { this.user = loginResponse.error ? this.user = new User() : JSON.parse(loginResponse.data.user) as User; localStorage.setItem('currentUser', JSON.stringify(this.user)); return this.user.id !== null; }); } 作为URL中的主机。 localhost是loopback接口的内置名称,因此始终指向正在运行的代码的计算机。

您需要使用运行代理的计算机(笔记本电脑)的IP地址。

如果您在具有动态IP配置的环境中运行所有这些操作,那么您需要查看名为mDNS / Avahi的内容,它允许同一子网上的计算机通过localhost域中的广播主机名进行寻址。那或将代理移动到具有静态IP地址和DNS条目的计算机。