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

Kan*_*aad 7 android telnet adb android-emulator

嗨,我正在使用Android模拟器开发一个应用程序.我需要在可以从本地网络访问的某个端口X上注册UDP套接字.由于Android模拟器是NAT'd所以我需要端口转发.我按照这篇文章" 使用Android模拟器通过IP和端口访问网络设备 ".它表明我需要使用

adb forward tcp:localPort tcp:emulatorPort
Run Code Online (Sandbox Code Playgroud)

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

telnet localhost 5037
Run Code Online (Sandbox Code Playgroud)

并使用redir命令重定向UDP端口

redir add udp:36963:36963
Run Code Online (Sandbox Code Playgroud)

但是当我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.
Run Code Online (Sandbox Code Playgroud)

我尝试了很多为此寻找任何解决方案,但没有结果.

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

小智 -2

这是错误的

redir add udp:36963:36963
Run Code Online (Sandbox Code Playgroud)

尝试这个:

redir add udp:portA udp:portB
Run Code Online (Sandbox Code Playgroud)

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