2
我試圖在使用MQTT進行消息傳遞的服務器應用程序與網頁中實時查看消息併發送回來的「通信線路」消息發送到服務器端應用程序。如何使用Bottle和MQTT獲得全雙工websocket
我在服務器上使用mosquitto,Bottle和gevent,我想盡可能保持簡單。使用GEVENT我設法得到一個greenlet的MQTT消息,把它們放在一個隊列,併發送郵件到網頁看起來像這樣WebSocket的過程中:
while True:
mqt = queue.get(True)
ws.send(mqt)
我還可以從網頁發送短信返回到服務器和MQTT這樣的(也可以通過隊列):
while True:
msg = ws.receive()
queue2.put(msg)
不過,我想這兩個迴路在同一時間對同一WebSocket的工作。有什麼方法可以將它們結合起來嗎?例如接收是否有超時?我想我可以使用兩個獨立的網絡套接字,但如果我只能使用一個套接字,那將是一種浪費。
好主意,儘管我不喜歡編譯所有東西,因爲默認情況下它並不會與websocket支持:) – rslite
什麼平臺?大多數預編譯的二進制文件應該包含這些日子的websocket(除了Fedora,我很想修復它) – hardillb
我在Ubuntu 14.04 LTS上,剛剛意識到它配備了mosquitto 0.15。我編譯並運行1.4.4版本。可能是更新我的服務器的時候,但我沒有太多時間在我的手上 – rslite