簡體   English   中英

套接字編程WiFi問題

[英]Socket programming WiFi issue

我正在實現一個移動聊天應用程序,我正在使用套接字連接來實現p2p連接。 我的聊天在android設備上運行正常。 我的問題是我可以連接3g網絡中的設備或具有相同WiFi網絡的設備,但是當WiFi外部的設備形式嘗試連接WiFi網絡中的設備時,連接不起作用。 我知道這是由於WiFi分配的設備的本地IP。 如何生根並連接WiFi中的設備?

聽起來更像是路由器設置問題,而不是應用程序問題(這意味着您應用程序的用戶也需要針對自己的網絡執行此操作)。

您的wifi路由器需要知道如何將通信轉發到設備。 假設您的應用正在端口1234上進行連接,那么您需要告訴路由器將來自端口1234外部的通信轉發到wifi網絡中手機的內部IP。

網絡外部的電話應以網絡的外部IP和端口1234為目標。

Sajan,您的問題不僅是IP映射問題,還是NAT遍歷問題。 並非總是可以在NAT中打孔。 如果需要,則必須使用一些復雜的技術來完成,其中包括位於wifi / lan外部的超級對等方,它將從內部對等方讀取轉換后的地址。

除非您使用UDP並且NAT友好,否則無法將TCP通信直接發送到內部對等方。 在大多數情況下,您將必須檢查NAT可能進行的操作,如果有可能,則需要執行映射預測,並告訴兩個對等方嘗試對預測的IP地址進行通信。

如果您不希望用戶必須配置其NAT,那將是有效的。 即使在那種情況下,這樣的配置也將始終不夠(例如,如果存在NAT級聯或代理)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM