mqttmosquittolibmosquitto

Difference between port and listener in MQTT


I have installed mosquitto client for MQTT on my local machine. I have below configuration:

listener 1883
protocol mqtt
listener 9001
protocol websockets

What is the difference between running client on mqtt and websockets. Also what is the difference if i change listener to port?


Solution

  • That means it will listen :1883 and expect MQTT packets and also listen :9001 and expect HTTP/Websocket protocol.

    Wire protocol is the language programs speak. Sometimes appropriate talk is "Yo sup TJ", sometimes you should say "Good morning, mr. Marvel". Same thing in server communication. We're still inventing more languages.

    1. establish TCP connection
    2. now we're talking MQTT
    3. send MQTT packets as defined by standard (publish/sub/unsub) or disconnect
    1. establish TCP connection
    2. send HTTP request with Upgrade: websocket header and other preparation
    3. except 101 Switching Protocols response
    4. now we're talking Websocket, either side can send messages as defined by standard

    Port is a number in range 1 to 65535. IP address + port pair define an endpoint of communication. In some sense, port extends IP address space to specify to what program on the other computer you intend to send your data. For example, HTTP servers usually listen port 80.

    To make life more interesting, sometimes you pick random port to listen because