是否可以通过单个代理使用两个mqtt侦听端口

时间:2018-12-27 04:38:06

标签: mqtt tcplistener emq

我们正在使用emqx(3.0)。我的emqx在1883端口中运行,并且正在同一端口中通过身份验证(设备身份验证和主题授权)的设备获取数据。我想再启用一个端口以进行设备身份验证。这就是为什么我为相同的emqx启用了一个端口。现在emqx在两个具有相同进程ID的端口中运行。我用netstat命令检查了两个端口(1883和xxxx)是否显示相同的进程ID。但是通过paho,我可以从xxxx端口连接到emqx。显示连接丢失错误。

1883端口工作正常。

在仪表板上还启用了xxxx端口。

但是我无法通过paho连接。

1 个答案:

答案 0 :(得分:0)

通过在emqx.conf中设置另一个zone支持具有不同配置的多个侦听器。默认区域为externalinternal

listener.tcp.external = 0.0.0.0:1883
listener.tcp.external.acceptors = 8
listener.tcp.external.zone = external
...

listener.tcp.internal = 127.0.0.1:11883
listener.tcp.internal.acceptors = 4
listener.tcp.internal.zone = internal

如果不需要内部区域,则可以添加自己的区域或仅更改内部区域,如下所示:

listener.tcp.internal = 127.0.0.1:xxxx
listener.tcp.internal.acceptors = 8
listener.tcp.internal.zone = external
...