Search code examples
pythonmqttpaho

Not receiving expected message from the broker using paho-mqtt python


This is my code

import paho.mqtt.client as mqtt


def on_connect(client, userdata, flags, rc):  # The callback for when the client connects to the broker
    print("Connected with result code {0}".format(str(rc)))  # Print result of connection attempt


def on_message(client, userdata, message):  # The callback for when a PUBLISH message is received from the server.
    print("message received " ,str(message.payload.decode("utf-8")))
    print("message topic=",message.topic)
    print("message qos=",message.qos)
    print("message retain flag=",message.retain)




#creating client instance
client = mqtt.Client(client_id="random_id_name")
print("client created ......")
client.on_connect = on_connect  # Define callback function for successful connection
client.on_message = on_message  # Define callback function for receipt of a message

#connecting to broker/server
hostname = "hostname_I_am_trying_to_connect" #give the host/server/broker name
portnumber = **random_port_number_as_integer_value** #give the port number
client.username_pw_set("username", "password") #give the username and password for the broker/server/host
client.connect(host= hostname ,port= portnumber)
print("client connected to- ",hostname," on port_number:",portnumber)
client.subscribe("login")  
print("subscribed to the topic")
client.publish("login","some_message")
print("message published")
client.loop_forever()  # Start networking daemon

Here I am expecting to receive some_message/unique_id from the broker , i.e. 1234/1234_qyehfj_1234_jfjfj.

Instead, I am receiving some random numbers. See the screenshot:

Message received from the broker

What is the problem here? Is the problem in my code or something wrong with the broker I am sending messages to?

If something is wrong with the code please let me know how to fix this.


Solution

  • I solved the problem last night. So here I am going to explain what happened. I subscribed to the wrong topic, that's why I was receiving everything that other people may or may not have published on that particular topic.

    In the future, if anyone is facing the same problem, double-check if you are subscribed to the right topic.