用于android模拟器的UDP端口转发; “adb forward udp:port udp:port”和telnet localhost adb_port无法正常工作

时间:2013-04-24 15:44:11

标签: android android-emulator adb telnet

您好我正在使用Android模拟器开发应用程序。我需要在可以从本地网络访问的某个端口X上注册UDP套接字。由于Android模拟器是NAT'd所以我需要端口转发。 我点了这篇文章“Reaching a network device by IP and port using the Android emulator”。它表明我需要使用

adb forward tcp:localPort tcp:emulatorPort

但是这个方案对udp不起作用(如果有人知道它的UDP版本那么请告诉我)。对于UDP,我找到了另一个解决方案,我需要telnet到adb端口,如下所示(我的adb在端口5037上运行)

telnet localhost 5037

使用redir命令重定向UDP端口

redir add udp:36963:36963

但是当我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.

我尝试了很多方法来找到解决办法,但却毫无结果。

我需要知道从外部网络访问模拟器的任何解决方案。

2 个答案:

答案 0 :(得分:0)

这是错误的

redir add udp:36963:36963

试试这个:

redir add udp:portA udp:portB

在大多数情况下,portA和portB会有所不同。适应您的代码

答案 1 :(得分:0)

仿真器的典型telnet端口是5554。

尝试:

telnet localhost 5554

然后,您需要进行身份验证,说明将打印在控制台中。就像从$ HOME / .emulator_console_auth_token复制值时,不要在结尾加上“%”。

auth <auth_token>
redir add udp:36963:36963