我有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_FORWARDsudo 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
---------------------- ----------------------------
请帮忙。