【发布时间】:2021-06-17 03:11:19
【问题描述】:
hbmqtt 0.9.6 我用作经纪人,paho-mqtt 1.5.1 用作客户。两者都支持MQTT v3.1.1。
代理配置:
listeners:
default:
type: tcp
halp:
max-connections: 33
bind: 127.0.0.3:1883
topic-check:
enabled: false
auth:
allow-anonymous: true
客户端代码:
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe('abc')
def on_message(client, userdata, msg):
print(msg.topic + " " + str(msg.payload))
def on_subscribe(mosq, obj, mid, qos):
print("Subscribed: " + str(mid))
print("Granted QoS: " + str(qos[0]))
client = mqtt.Client(client_id="subscriber", transport="tcp")
client.on_connect = on_connect
client.on_message = on_message
client.on_subscribe = on_subscribe
client.connect("127.0.0.3", 1883)
client.loop_forever()
客户端正确建立与代理的连接,并且可以毫无问题地向代理发送消息。但是当我尝试订阅主题时,我收到Granted QoS: 128。什么会导致这种问题?
我尝试了什么:
- 更改主题名称
- 更改端口 ip/端口
- 将传输从 tcp 更改为 ws
- 更改操作系统(在 Armbian 和 Ubuntu 上试用)
- 使用身份验证和登录:密码
【问题讨论】:
-
SUBACK(128) 通常意味着您的客户端没有所需订阅的必要权限。
-
我认为如果是这样,那么登录名/密码应该会有所帮助