2016-06-08 49 views
0

我的工作,其中包括BeagleBoneBlack並寫入網絡的NodeJS服務器的項目。這個想法是,當Beaglebone檢測到環境中的東西將其發送到Web服務器時,並且由於某種原因連接丟失時,BBB會將日誌存儲在它自己的數據庫中。如何立即知道與Socket.IO連接是否丟失?

於是我就用SocketIO,我發出時BBB檢測的東西。我使用標誌變量isConnected,我把「斷開」事件放在假,如果isConnected是假,我不會發射到服務器,只需寫入數據庫。

問題是,當計算機,其中服務器正在運行,進入睡眠狀態(模擬丟失的連接),SocketIo需要有時超過一分鐘,以檢測連接丟失,併發出斷開連接事件。有沒有什麼辦法讓這個信息更快,因爲程序試圖發送讀數到服務器,不能,但它不是寫入數據庫。

回答

1

客戶端可能會每5秒(或更頻繁)發出myping並從服務器收到mypong,以確認服務器正在工作。

...或者服務器可以發送接收數據和客戶端的確認嘗試直到它接收到確認重新發送數據。

+0

是的,我有一個類似的想法,但我不是很有經驗,所以我不知道是否有一些更好的方式來做到這一點。謝謝 – user3506697

相關問題