發送服務器的目的在于向設備發送資料并控制設備,
這篇主要是利用HTTP、WebSocket、MQTT 協議來看看如何實作同步和異步傳輸,
HTTP 發送資料
發送服務器等待接收HTTP 請求的Web 服務器,設備向這臺服務器申請發送資料,作為回應,服務器把資料發給設備,

使用者需要定期從設備執行輪詢連接,
原因有二:
1.無法確定唯一地址,例如無法給設備設定全域IP 地址等,這種情況下,發送服務器就不知道應該把資料發送給哪臺設備了,
2.考慮到設備頻繁斷電和移動線路的傳輸費用,此時,設備沒有持續連接網路,即使設備已經連接過網路,但只要沒有持續連接,那么,即使發送服務器執行了發送資料的操作,也發不到設備那里去,

WebSocket 發送資料
使用WebSocket 時,需要用設備連接發送服務器,并確立WebSocket連接,只要建立了一次WebSocket 連接,就能實作從發送服務器和客戶端發送資料,
MQTT 發送資料
前文介紹了HTTP 和WebSocket,它們采用的方法都是由設備訪問發送服務器,就這些方法而言,只要客戶端沒有發出申請,資料就不會被發送,當然使用者也可以在設備上建立HTTP 和WebSocket 協議,由服務器來連接設備,不過,一旦增加了設備,服務器想管理所有設備就
相當困難了,
針對這點,來試著看一下這種服務器:它靈活運用MQTT,并且發揮了發布/ 訂閱模型的優點,使用MQTT 時的發送服務器如圖所示,

首先設備作為訂閱者,向MQTT 中介進行訂閱,然后,發送服務器則是發布者,同樣向中介進行發布,這樣一來,發送服務器只需要把確定的資料加在主題上發送就行了,發送服務器和設備都不需要知道彼此的地址,只要知道中介的地址,就能夠實作通信,一旦訂閱者斷開,中介就會負責在斷開時發送通知,并在重新連接時再次發送資料,
通過靈活運用MQTT 的功能,構建發送服務器就變得簡單多了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/312087.html
標籤:其他
上一篇:h5專案部署到云服務器的完整步驟
下一篇:nginx中斜杠(/)詳解
