- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图通过docker和docker-compose运行本地mosquitto代理,发布者和订阅者设置,但是发布者无法连接到代理。但是,通过cli连接到本地代理可以正常工作。
在安装程序下运行时出现以下错误。
{ Error: connect ECONNREFUSED 127.0.0.1:1883
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1088:14)
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 1883 }
本地docker化设置:
version: "3.5"
services:
publisher:
hostname: publisher
container_name: publisher
build:
context: ./
dockerfile: dev.Dockerfile
command: npm start
networks:
- default
depends_on:
- broker
broker:
image: eclipse-mosquitto
hostname: mosquitto-broker
container_name: mosquitto-broker
networks:
- default
ports:
- "1883:1883"
networks:
default:
dev.Dockerfile :
FROM node:11-alpine
RUN mkdir app
WORKDIR app
COPY package*.json ./
RUN npm ci
COPY ./src ./src
CMD npm start
src / index.js :
const mqtt = require("mqtt");
const client = mqtt.connect("mqtt://localhost:1883");
client.on("connect", () => {
console.log("Start publishing...");
client.publish("testTopic", "test");
});
client.on("error", (error) => {
console.error(error);
});
但是,如果我通过mqtt-js cli连接到mosquitto代理,它将按预期工作。例如。
mqtt sub -t 'testTopic' -h 'localhost'
和
mqtt pub -t 'testTopic' -h 'localhost' -m 'from MQTT.js'
。
最佳答案
您的发布者容器和代理在两个不同的容器中运行,这意味着它们是两台不同的计算机,每台计算机都有自己的IP。
您不能使用localhost:1883从发布者容器中调用代理服务,反之亦然,从代理到发布者容器
要到达代理容器,您必须调用容器ip或名称或服务名称
在您的情况下,将mqtt.connect("mqtt://localhost:1883");
的值更改为mqtt.connect("mqtt://broker:1883");
并尝试一下
关于docker - 本地MQTT mosquitto实例获得连接ECONNREFUSED 127.0.0.1:1883,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63615089/
我想在 RPi 上的 docker 中运行 eclipse-mosquitto mqtt 服务器。 我用来运行它的命令是: docker run --name mqtt --restart=alway
我有一个运行多个 Docker 容器的 linux 系统。其中之一是从 mosquitto 1.6.7 docker 镜像运行的 mosquitto 容器。 我无法控制 Mosquitto 容器的创建
我正在尝试使用 TLS 通过 mqtt 进行通信。我的系统中安装了 ubuntu。为了使用 TLS,我使用以下链接创建了证书: http://www.embedded101.com/Blogs/Pao
我已经在我的 ARM 目标板上实现了 mosquitto。 我在Makefile中添加了-DWITH_SRV,因为我需要在我的系统中添加SRV Loopup函数。 但是返回错误 fatal error
我正在为 mosquitto MQTT 代理(版本 1.5)实现一个插件,我正在努力访问我的插件实现中指向 mosquitto 客户端结构的指针的某些元素: #include ... int mos
在mosquitto broker中,有一些写事件日志文件的配置。我正在使用以下配置并运行代理。 log_type all log_dest file /root/Files/mosquitto.lo
我正在使用 mosquitto 作为 MQTT 代理,虽然它提供了广泛的日志记录功能,但我无法找到如何将实际主题的消息记录到文件中(甚至是按主题排序的文件树,甚至数据库)。我看到了 log_desc
我有一个负载均衡器,即 aws elb 所有的 pub/sub 都将通过那个 elb 来 elb 下的两个蚊子经纪人 A 和蚊子经纪人 B 一个 mosquitto 代理在这两个代理之间同步主题(mo
Mosqitto ( http://mosquitto.org/ ) 支持哪些消息队列? 另外我想知道在 MQTT 协议(protocol)中,为每个主题创建不同的消息队列,或者在内存限制的情况下可以
我已经在我的 ubuntu 机器上安装了 mosquitto 服务器和客户端软件包。当我运行命令“mosquitto”来运行 mosquitto 服务器时,我收到错误“错误:地址已在使用中”。为什么我
我正在尝试增加 Mosquitto 代理的最大打开文件连接。但是我读到增加的并发连接不仅仅由 Mosquitto 控制。 根据我们的研究,我们决定 100k 并发连接,我们的目标是 1.6 GB RA
我正在使用 C 语言的 mosquitto 代理和 Paho 客户端库。我希望代理只允许发布一定数量的消息,并阻止任何超过该数量的消息。我尝试将配置中的最大飞行消息选项设置为某个数字,但它不起作用。在
我一直在尝试使用 mosquitto lib 开发 C 代码,通过 TLS 在 mosquitto 代理上发布消息。我在 mosquitto 端配置了 TLS,效果很好。我能够使用 mosquitto
我有一个在 Android 中运行的 MQTT 客户端,以及一个在服务器中运行的 MQTT 代理。我的问题是我们将在哪里使用应用程序,我们有一些连接断开,所以我的网络应用程序需要知道客户端的当前状态。
我在使用 libmosquitto 开发 iOS 应用程序时遇到了一些问题 在我的代码中AppDelegate.swift import UIKit @UIApplicationMain class
我想知道是否有一种方法可以将 Mosquitto 配置为在连接到外部客户端时需要 TLS 和客户端证书,而不需要内部客户端的 TLS 和客户端证书。我应该对 CA(证书颁发机构)或 .conf 文件做
我正在使用 mosquitto 1.4.10。 我有一个客户端,可以批量向同一主题发布多条消息(例如,每批 50 条消息)。客户端将每隔几秒发送一次每个批处理(例如,每 5 秒)。发送一批或几批后,在
我想在更改时重新加载 mosquitto 密码文件。是否可以在 Windows 上发送 SIGHUP(“信号挂断”)或类似的 mosquitto 服务器? 最佳答案 这是可以做到的。首先,您必须设置
我如何制作一个像 mosquitto-auth-plug 这样的插件用于授权,或者一个用于存储消息有效负载或其他用途的插件?我应该用 C 编写还是可以使用 python? 最佳答案 任何用于 mosq
我已经实现了一个不安全的 mosquitto 代理,它可以通过端口 1883 定期发送大量数据(每分钟约 200kb 文件)。 由于我已经实现了 TLS,尽管设置了 message_size_limi
我是一名优秀的程序员,十分优秀!