2013-04-24 499 views
6

您好我正在開發一個應用程序使用android模擬器。我需要在可以從本地網絡訪問的某個端口X上註冊一個UDP套接字。由於Android模擬器是NAT'd所以我需要端口轉發。 我跟隨此帖「Reaching a network device by IP and port using the Android emulator」。這表明,我需要使用用於android模擬器的UDP端口轉發; 「adb轉發udp:端口udp:端口」和telnet localhost adb_port不工作

adb forward tcp:localPort tcp:emulatorPort 

但這種方案不適合UDP工作(如果有人知道其UDP版本,那麼請讓我知道)。對於UDP我發現了另一個解決方案,我需要遠程登錄到ADB端口如下

telnet localhost 5037 

和重定向UDP端口使用REDIR命令

redir add udp:36963:36963 

(我ADB在端口5037上運行),但是當我telnet它給出了以下錯誤

telnet 127.0.0.1 5037 

Connecting to 127.0.0.1:5037... 
Connection established. 
To escape to local shell, press 'Ctrl+Alt+]'. 

Connection closed by foreign host. 

我試了很多找到任何解決方案,但沒有結果。

我需要知道從外部網絡訪問模擬器的任何解決方案。

+0

Kanwar,你發現問題的解決方案了嗎?我真的對這個答案感興趣 – 2017-11-24 15:11:49

回答

0

這是錯誤的

redir add udp:36963:36963 

試試這個:

redir add udp:portA udp:portB 

在大多數情況下PORTA和PORTB上會有所不同。適應你的代碼

+0

問題是我不能telnet。之後我可以運行這個命令。這就是我所要求的,如何解決這個問題 – 2013-05-07 06:22:36

+0

windows shell在telnet方面有一些問題。嘗試使用PowerShell或其他shell。如果你想要一個圖形環境,你可以使用Putty進行telnet – 2013-05-20 17:16:35

+1

當我將'adb shell'放到我的設備上時,當我嘗試執行'redir add'命令時,會得到'/ system/bin/sh:redir:not found'。如何克服這一點? – 2016-06-10 06:40:01