我正在爲Android安裝即時消息應用程序。 該應用程序由一個服務器和客戶端組成,都位於android上。 啓動時,應用程序向Web服務器註冊。 如果客戶端想要將IM發送到NAT路由器後面的服務器,該如何實現? 我聽說過stun4j和jstun,但沒有發現他們在android中使用的例子。 謝謝!安卓後面的NAT-路由器上的即時消息服務器
1
A
回答
0
stun4j不是一個適用於所有NAT的通用解決方案。
最簡單&最可靠的解決方案是通過外部網絡服務器發送帶有已知地址的消息。
1
爲什麼服務器必須在設備上?
這似乎無效,android作爲一個典型的客戶端設備功能最好。
製作即時消息應用程序非常簡單。
只要客戶端發送消息到網絡服務器,存儲它們。
讓其他客戶端等待或輪詢來自Web服務器的消息。
無論互聯網連接類型如何,這都可以工作。
如果你堅持在設備上安裝服務器,我認爲你會得到最接近的解決方案就是使用某種upnp庫。
隨着upnp,你可以告訴路由器自動設置一個NAT到你的服務器的端口。
這對於在路由器中禁用upnp的用戶不起作用。
相關問題
- 1. NAT路由器阻止JMS消息
- 2. 通過NAT /路由器的服務器到服務器通信
- 3. 服務器的路由器後面
- 4. NAT後面的HTTP服務器
- 5. 在NAT後面託管服務器
- 6. 安卓服務器消息不顯示在聊天屏幕上
- 7. 安卓計時器服務
- 8. 通過NAT的P2P即時消息
- 9. 帶有NAT的路由器後面的ARP?
- 10. 如何訪問NAT路由器後面的ServerSocket?
- 11. 消息從雲到NAT /防火牆後面的機器
- 12. 在路由器後面託管和訪問我的服務器?
- 13. 路由器後面的客戶端服務器程序
- 14. 路由器後面的Python客戶端/服務器
- 15. 將Laravel上傳到服務器後,我在我的路由頁面上看到一條錯誤消息
- 16. Python的NAT服務器
- 17. 安卓:從服務器
- 18. 安卓遠程服務器
- 19. 安卓:從服務器
- 20. 安卓:在服務器
- 21. 安卓聊天服務器
- 22. 安卓:從服務器
- 23. 路由到服務器上的位置
- 24. 雲服務器需要將消息推送到路由器後面的客戶端
- 25. 如何識別NAT後面的服務器套接字端口
- 26. Spring集成UDP服務器,用於NAT後面的客戶端
- 27. 服務器連接到NAT後面的客戶端
- 28. 如何理解客戶端在服務器上發送websocket消息的路由?
- 29. 服務器端消息數據安全
你的意思是說,如果A想要發送給B(都在NAT之後),則: A發送到網絡服務器並且網絡服務器發送到B. 網絡服務器如何發送到B? – user437731 2010-09-02 10:25:38
B通過持久連接輪詢來自web服務器的消息。 彗星狀。 – BarsMonster 2010-09-02 15:08:48