我正在實現一個移動聊天應用程序,我正在使用socket連接來實現p2p連接。我的聊天工作正常與Android設備。我的問題是我可以連接3g網絡中的設備或與同一個WiFi網絡連接,但當WiFi外的設備嘗試連接WiFi網絡中的設備時,連接不起作用。我知道這是因爲WiFi分配的設備的本地IP。如何在WiFi中對設備進行根和連接?Socket編程WiFi問題
0
A
回答
0
聽起來更像是路由器設置問題,而不是應用程序問題(意味着您的應用程序的用戶也需要爲自己的網絡執行此操作)。
您的wifi路由器需要知道如何將通信轉發到您的設備。因此,假設您的應用程序正在連接端口1234,那麼您需要告訴路由器將端口1234從外部的通信轉發到您的WiFi網絡中的手機的內部IP。
的手機,在網絡之外應該將廣告網絡的外部IP和端口1234
0
Sajan,您的問題不僅是一個IP映射的問題,也是一個NAT穿越問題。在NAT中打洞並不總是可能的。如果是這樣,它必須使用一些複雜的技術來完成,包括位於您的wifi/lan之外的超級對等設備,它將從您的內部對等設備讀取已翻譯的地址。
除非你使用UDP並且NAT是友好的,否則不可能將TCP通信直接發送給內部對等體。在大多數情況下,你必須檢查NAT的可能性,如果有可能的話,你需要執行映射預測,並告訴兩個對端嘗試com預測的IP地址。
如果你不希望你的用戶必須配置他們的NAT,這是有效的。即使在這種情況下,這種配置並不總是足夠的(例如,如果存在級聯的NAT或代理)。
相關問題
- 1. socket編程問題 - python
- 2. PHP Socket編程問題
- 3. Socket編程問題 - Python
- 4. Socket編程:RECV /讀取問題
- 5. tcl問題中的socket編程
- 6. iOS Socket編程中的Socket響應問題
- 7. 訪問通過socket編程
- 8. Actionscript3 - Socket問題
- 9. 與Wifi斷開連接的Java web socket問題
- 10. Android與Java程序之間的Socket編程問題
- 11. Android Socket編程
- 12. Cordova Socket編程
- 13. Socket編程C
- 14. Socket編程android
- 15. socket編程
- 16. c socket編程
- 17. Java Socket編程
- 18. Netcat Socket編程
- 19. Socket編程python
- 20. Android Socket InputStream問題
- 21. Swift 3 Socket問題
- 22. python socket tchat問題
- 23. java socket編程問題(發送和接收數據)
- 24. Java Socket編程客戶端服務器通信問題
- 25. 連續寫後的Perl socket編程問題插座
- 26. windows phone7 socket編程?
- 27. Socket編程與Python
- 28. Socket編程用C
- 29. Socket編程和android
- 30. 爪哇 - socket編程