您好我正在使用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.
我尝试了很多方法来找到解决办法,但却毫无结果。
我需要知道从外部网络访问模拟器的任何解决方案。
答案 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