摘要:設備向這臺服務器申請發送數據,作為響應,服務器把數據發給設備。只要建立了一次連接,就能實現從發送服務器和客戶端發送數據。然后,發送服務器則是發布者,同樣向中介進行發布。
發送服務器的目的在于向設備發送數據并控制設備。
這篇主要是利用HTTP、WebSocket、MQTT 協議來看看如何實現同步和異步傳輸。
發送服務器等待接收HTTP 請求的Web 服務器。設備向這臺服務器申請發送數據,作為響應,服務器把數據發給設備。
使用者需要定期從設備執行輪詢連接。
原因有二:
1.無法確定唯一地址,例如無法給設備設定全局IP 地址等。這種情況下,發送服務器就不知道應該把數據發送給哪臺設備了。
2.考慮到設備頻繁斷電和移動線路的傳輸費用。此時,設備沒有持續連接網絡。即使設備已經連接過網絡,但只要沒有持續連接,那么,即使發送服務器執行了發送數據的操作,也發不到設備那里去。
使用WebSocket 時,需要用設備連接發送服務器,并確立WebSocket連接。只要建立了一次WebSocket 連接,就能實現從發送服務器和客戶端發送數據。
?
前文介紹了HTTP 和WebSocket,它們采用的方法都是由設備訪問發送服務器。就這些方法而言,只要客戶端沒有發出申請,數據就不會被發送。當然使用者也可以在設備上建立HTTP 和WebSocket 協議,由服務器來連接設備。不過,一旦增加了設備,服務器想管理所有設備就
相當困難了。
針對這點,來試著看一下這種服務器:它靈活運用MQTT,并且發揮了發布/ 訂閱模型的優點。使用MQTT 時的發送服務器如圖所示。
首先設備作為訂閱者,向MQTT 中介進行訂閱。然后,發送服務器則是發布者,同樣向中介進行發布。這樣一來,發送服務器只需要把確定的數據加在主題上發送就行了,發送服務器和設備都不需要知道彼此的地址。只要知道中介的地址,就能夠實現通信。一旦訂閱者斷開,中介就會負責在斷開時發送通知,并在重新連接時再次發送數據。
通過靈活運用MQTT 的功能,構建發送服務器就變得簡單多了。?
?
?
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/122506.html
摘要:一個輕量級高效率的支持聊天與物聯網的通訊框架從月初到現在已經大約已經三個月了,由于一直沒有時間與精力很好的維護這個項目,心里一直有所歉意。希望本項目對你有所幫助,我的目標暫定,一個小眾加物聯網的開源通訊項目。 篇幅較長,感謝閱讀。 萬事開頭難 在我決定做開源是因為自身工作接觸到大多數的項目都是基于開源大佬寫的框架,自覺慚愧,工作以來一直忙于業務與功能實現,多多少少做過的幾個項目也沒能抽...
摘要:本文是其中的一個解決方案。地址客戶端服務端前端網頁介紹,消息隊列遙測傳輸是開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。必須用于在頂層分隔符之后,除了當自己指定時。 1. 問題描述 最近,本實驗室大量上馬云測量,云監控方面的項目,大概是屬于物聯網應用的一個分支。老板也有將舊有儀器改造的想法,所以要實現儀器設備的云控制。本文是其中的一個解決方案。 2. 技術選型 消息隊列:M...
摘要:定律在那篇最流行的編程語言能做什么里,我們列舉了在不同領域的使用情況,今天讓我們來詳解一下在物聯網中的應用。這個硬件層決定了物聯網應用比應用更加復雜。這時,我開始關注實現物聯網應用的可能性。 凡是能用JavaScript寫出來的,最終都會用JavaScript寫出來。 —— Atwood定律 在那篇《最流行的編程語言JavaScript能做什么?》里,我們列舉了JavaScript在不...
摘要:定律在那篇最流行的編程語言能做什么里,我們列舉了在不同領域的使用情況,今天讓我們來詳解一下在物聯網中的應用。這個硬件層決定了物聯網應用比應用更加復雜。這時,我開始關注實現物聯網應用的可能性。 凡是能用JavaScript寫出來的,最終都會用JavaScript寫出來。 —— Atwood定律 在那篇《最流行的編程語言JavaScript能做什么?》里,我們列舉了JavaScript在不...
閱讀 2594·2021-11-17 09:33
閱讀 3936·2021-10-19 11:46
閱讀 910·2021-10-14 09:42
閱讀 2251·2021-09-22 15:41
閱讀 4204·2021-09-22 15:20
閱讀 4627·2021-09-07 10:22
閱讀 2301·2021-09-04 16:40
閱讀 810·2019-08-30 15:52