本系統有上萬個設備(通過gprs模塊通信,設備無外接電源靠電池維持作業)與互聯網上的服務器進行通信,通信內容很簡單,就是每隔幾分鐘給服務器上報一下當前狀態,服務器端操作人員偶爾需要向設備端發送一下控制指令或者更新下設備上的程式。請問,基于這種應用場景我應該選擇什么樣的通信方式?udp通信?tcp長連接通信?是否有朋友能分享下相關經驗?
ps:目前測驗階段選擇了用udp通信,設備上報時間設定成每隔2分鐘上報一次(因為考慮到gprs流量費及設備功耗不敢通信太頻繁),但是在測驗中發現服務器往設備端發送控制指令時靈時不靈(上網查找好像可能是網路不能長時間保持udp seesion的原因),有改成tcp試試的想法但是限于本人基本功不扎實不知道改了能否解決問題或者出現其它的問題暫時還不敢貿然提出修改。
uj5u.com熱心網友回復:
設備端做個接收的校驗和應答,全部收齊并且正確接收就告訴一下服務器,如果沒有就讓服務器再次重傳uj5u.com熱心網友回復:
謝謝您的回復,我們現在的問題感覺主要是udp服務器下發設備的通路不穩定,設備發送給服務器資料后時間一久鏈路就不能用了,得等下一次設備再上傳資料服務器才能下發,不知道有什么辦法保證通路一直可靠嗎uj5u.com熱心網友回復:
不穩定是不是設備端為了省電不長在線的原因?如果是因為這個,那你換tcp也沒用的。
uj5u.com熱心網友回復:
謝謝您的回復,我們現在的問題感覺主要是udp服務器下發設備的通路不穩定,設備發送給服務器資料后時間一久鏈路就不能用了,得等下一次設備再上傳資料服務器才能下發,不知道有什么辦法保證通路一直可靠嗎 設備端做個接收的校驗和應答,全部收齊并且正確接收就告訴一下服務器,如果沒有就讓服務器再次重傳
不穩定是不是設備端為了省電不長在線的原因?如果是因為這個,那你換tcp也沒用的。
uj5u.com熱心網友回復:
是的,就是為了省電省流量設備上傳的時間間隔定的比較長,但是設備并沒有斷電,不知道用tcp能不能保持通道正常
謝謝您的回復,我們現在的問題感覺主要是udp服務器下發設備的通路不穩定,設備發送給服務器資料后時間一久鏈路就不能用了,得等下一次設備再上傳資料服務器才能下發,不知道有什么辦法保證通路一直可靠嗎 設備端做個接收的校驗和應答,全部收齊并且正確接收就告訴一下服務器,如果沒有就讓服務器再次重傳
不穩定是不是設備端為了省電不長在線的原因?如果是因為這個,那你換tcp也沒用的。
設備端耗電大戶就是無線發射,在靜默期設備端雖然沒斷電,但是肯定是關閉了無線發射的,建議改變一下收發策略,讓設備端上傳完資料后主動查詢是否有指令,如果有就等收全了指令后再進入省電模式。
uj5u.com熱心網友回復:
我也在構思一款gprs應用,想請教一下,您的系統選用哪種芯片呢?不知能否賜教,參考一下。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/121895.html
標籤:網絡通信
上一篇:TIME-WAIT狀態怎么知道對方有沒有收到最后一個ACK
下一篇:請教個設定無線路由器的問題
