我试图通过在英特尔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);
这很有效。
问题是从爱迪生董事会连接。有没有人面对这个问题?
答案 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条目的计算机。