Я хочу установить соединение mqtt. И я хочу сделать это в Python3.
Это часть кода клиента:
def on_message(client, userdata, message):
print("Received message '" + str(message.payload) + "' on topic '"
+ message.topic + "' with QoS " + str(message.qos))
if message.payload == "Hello":
print("Received message #1. Do something.")
# do something
if message.payload == "World":
print("Received message #2. Do something else.")
# do something
Я в основном публикую оба сообщения "Мир" и "Привет" по заданным темам для этого клиента, но я получаю разные результаты в зависимости от используемой версии Python.
Это вывод, когда я компилирую с python2: (Это вывод, который я хочу)
pi@raspberrypi:~/Desktop $ python Client.py
Connection returned result: 0
Received message 'Hello' on topic 'Wulff/test' with QoS 0
Received message #1. Do something.
Received message 'World' on topic 'Wulff/topic' with QoS 0
Received message #2. Do something else.
Это вывод, когда я компилирую с python3:
pi@raspberrypi:~/Desktop $ python3 Client.py
Connection returned result: 0
Received message 'b'Hello'' on topic 'Wulff/test' with QoS 0
Received message 'b'World'' on topic 'Wulff/topic' with QoS 0
Received message 'b'Hello'' on topic 'Wulff/test' with QoS 0
Received message 'b'World'' on topic 'Wulff/topic' with QoS 0`
Я не понимаю, почему программа здесь не распознает полезную нагрузку сообщения.
На что следует обратить внимание при запуске программы с разными версиями python? Я уже установил необходимые модули на Python2 и Python3.