Android 模拟器中做端口重定向


为什么要做端口重定向呢?

开发的过程中遇到一个问题:Android的模拟器有个很诡异的特点,就是访问网络的时候只可以从模拟器主动往出去连。但是却无法主的从外面连接模拟器,这个特点和NAT几乎完全一样,具有单向连接的特性。

实际开发中我们希望模拟器像一台独立的手机一样,能和处于同一局域网中的手机进行端对端的通信。这时就需要做端口重定向。

类似于给路由器做nat的端口重定向。下面几步:

>运行模拟器:你会发现模拟器标题栏上写着端口号:5554,其实这个端口号是模拟器的console端口

>telnet到模拟器的console口上:telnet localhost 5554

(如果你用的是win7. 默认是没有开启telnet功能的,开启的方法看这里)

>在控制台下输入 redir add tcp:7778:9998 就完成了从主机7778端口重定向到模拟器9998端口的任务

redir的语法是:redir <list|add|del>

支持下表列出的子命令:

子命令 描述 注释
list 列出当前的端口重定向 (min 150, max 550)
add <protocol>:<host-port>:<guest-port> 添加新的端口重定向 <protocol> 必须是”tcp” 或 “udp”<host-port> 是主机上开启的端口号<guest-port> 是向模拟器/设备发送数据的端口号
del <protocol>:<host-port> 删除端口重定向 <protocol> and <host-port>的含义同上

  • 1
  • 2
  • 下一页

相关内容