我試圖想出一個能夠在嵌入式設備(基於xMega128(C))和Android應用程序之間進行數據交換的解決方案。數據交換必須通過互聯網進行,嵌入式設備和運行應用程序的移動設備可以位於不同的NAT後面,使用不同的ISP,3G,LTE等進行連接。在NAT後面工作 - 一種設備通信方案
我試過UDP打孔,但它不適用於對稱NAT。預測多孔衝孔也不能保證100%的可靠性。我也考慮過使用ICE,但ICE C庫(pjnath,libnice)與所選的硬件不兼容(libs需要os)。現在我正在考慮實施或使用(如果存在)交通中繼服務器,但這對我來說似乎只是一種駭客。
有沒有其他的選擇我沒有考慮過?任何幫助將不勝感激。
理想地,所述通信方式將是:
100%可靠
相對低的等待時間(3秒鐘絕對最大值)
可伸縮(即至多500K設備在未來)
可通過應用程序和設備初始化
多用戶 - 一個設備將連接到許多Android應用
而且,如果這能幫助,設備和應用程序之間的數據交換不是非常高強度 - 每小時大約1次會議每個會話約50條消息,每條消息之間10-20秒,每條消息重約100字節。
一臺設備與最多10臺智能手機通信。讓我們稱之爲系統。可能有多達500,000個這樣的系統,並且解決方案必須能夠處理它。 – rojarand