将Android模拟器连接到远程系统

时间:2012-04-24 11:35:03

标签: android linux networking android-emulator iptables

我有2个ubuntu系统A和B.

A的IP地址为192.168.0.5 B的IP地址为192.168.0.3

系统A运行Android模拟器。我有一个TCP客户端应用程序,它必须与系统B通信。

由于Android应用只能"看到" localhost(如10.0.2.2),客户端App在端口Pb发送消息到10.0.2.2。

现在我假设系统A应该看到它在本地主机上收到的任何消息(即127.0.0.1,对于模拟器来说是10.0.2.2),必须在端口Pb转发到系统B 192.168.0.3。因此,我在系统A上设置了以下内容:

回声" 1" <的/ proc / SYS /净/的IPv4 / IP_FORWARD

sudo iptables -t nat -A PREROUTING -p tcp -s 127.0.0.1 -d 127.0.0.1 --dport Pb -j DNAT --to-destination 192.168.0.3:

系统B运行IP地址为192.168.0.3的TCP服务器和端口Pb

在系统A和B上有这些规则后,我在系统A上启动android Emulator,然后在Andoid上启动TCP客户端应用程序。

Wireshark工具显示到达127.0.0.1的软件包,但我在System B的服务器根本没有收到任何数据包:(

有什么问题?

--------------------              --------------------------

  System A                        System B
  192.168.0.5 wlan0               192.168.0.3 wlan0
  127.0.0.1   lo                  127.0.0.1 lo
                <---------------->

  Android EMULATOR                TCP Server
  TCP CLient App                  at 192.168.0.3, port Pb
  at 10.0.2.2
----------------------            ----------------------------

请帮忙。

0 个答案:

没有答案