Python MQTT客户端断开连接

Python MQTT客户端断开连接,python,mqtt,Python,Mqtt,我正在尝试让两个mqtt客户机使用以下配置在mqtt服务器上通信: listener 1883 persistence true connection_messages false log_timestamp true allow_anonymous false 该代码: 文件Pong.py import paho.mqtt.client as mqtt broker = 'ipserver' pub_topic = "Pong" sub_topic = "Pi

我正在尝试让两个mqtt客户机使用以下配置在mqtt服务器上通信:

listener 1883 
persistence true
connection_messages false
log_timestamp true
allow_anonymous false
该代码: 文件Pong.py

import paho.mqtt.client as mqtt
broker = 'ipserver'
pub_topic = "Pong"
sub_topic = "Ping"

def on_connect(client, userdata,flags,rc):
    print("Connesso")
    client.subscribe(sub_topic)

def on_message(client,userdata,msg):
    print(str(msg.payload))
    client.publish(pub_topic, "Pong")

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(broker,1883,60)
client.loop_forever()
文件Ping.py

import paho.mqtt.client as mqtt

#broker = "test.mosquitto.org"
broker = 'ipserver'
pub_topic = "Ping"
sub_topic = "Pong"

def on_connect(client, userdata,flags,rc):
    print("Connesso")
    client.subscribe(sub_topic)
    client.publish (pub_topic, "Ping")

def on_message(client,userdata,msg):
    print( msg.payload.decode('utf-8'))
    time.sleep(3)
    client.publish(pub_topic, "Ping")

def on_publish(mosq,obj,mid):
    print("Ping")

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.on_publish =on_publish
client.connect(broker,1883,60)
client.loop_forever()

问题是它们在循环中重复onconnect函数,继续重新连接,因此彼此不通信

您已明确告知代理拒绝匿名客户端,但您尚未提供:

  • 任一客户端的用户名/密码
  • 告诉代理如何在客户端连接时对其进行身份验证

  • allow\u anonymous false
    更改为
    allow\u anonymous true

    代理日志显示了什么?