使用python package index (pypi)
pip install paho-mqtt
使用virtualenv
virtualenv paho-mqtt
source paho-mqtt/bin/activate
pip install paho-mqtt
或者編譯源**
git clone
使用原始碼安裝
cd paho.mqtt.python
python setup.py install
# import paho.mqtt.client as mqttimport paho.mqtt.publish as publish
import time
host = "127.0.0.1"
port = 61613
def on_connect(client, userdata, flags, rc):
print("connected with result code "+str(rc))
client.subscribe("test")
def on_message(client, userdata, msg):
print(msg.topic+" "+msg.payload.decode("utf-8"))
if __name__ == '__main__':
client_id = time.strftime('%y%m%d%h%m%s',time.localtime(time.time()))
# client = mqtt.client(client_id) # clientid不能重複,所以使用當前時間
# client.username_pw_set("admin", "123456") # 必須設定,否則會返回「connected with result code 4」
# client.on_connect = on_connect
# client.on_message = on_message
# client.connect(host, port, 60)
# client.publish("test", "你好 mqtt", qos=0, retain=false) # 發布訊息
publish.single("test", "你好 mqtt", qos = 1,hostname=host,port=port, client_id=client_id,auth = )
import paho.mqtt.client as mqttimport time
host = "127.0.0.1"
port = 61613
def client_loop():
client_id = time.strftime('%y%m%d%h%m%s',time.localtime(time.time()))
client = mqtt.client(client_id) # clientid不能重複,所以使用當前時間
client.username_pw_set("admin", "123456") # 必須設定,否則會返回「connected with result code 4」
client.on_connect = on_connect
client.on_message = on_message
client.connect(host, port, 60)
client.loop_forever()
def on_connect(client, userdata, flags, rc):
print("connected with result code "+str(rc))
client.subscribe("test")
def on_message(client, userdata, msg):
print(msg.topic+" "+msg.payload.decode("utf-8"))
if __name__ == '__main__':
client_loop()
client_id是必須的,並且是唯一的。否則可能會出現如下錯誤:winerror 10054] 遠端主機強迫關閉了乙個現有的連線。
使用tcp select實現客戶端與客戶端的通訊
使用多路復用實現客戶端與客戶端進行通訊 原理 客戶端只要一連上伺服器,立馬給伺服器傳送使用者名稱,然後在服務端將newsocketfd 存放在同乙個結構體中,客戶端先給伺服器傳送資料,然後通過伺服器 給客戶端。伺服器先會查詢對應名字的 newsocketfd 然後向該 newsocketfd 中寫入...
瘦客戶端 胖客戶端 智慧型客戶端
胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...
實現UDP客戶端
實現udp客戶端 1 基於連線和無連線 2 對系統資源的要求 tcp多,udp少 3 udp程式結構較簡單 4 流模式與資料報模式 5 tcp保證資料準確性,udp可能丟包,tcp保證資料順序,udp不保證 import socket if name main 1.建立udp客戶端,建立套接字 ud...