我在Android模拟器上运行了一个服务器,它在localhost:SERVER_PORT
上进行了监听(在本例中让我们说6789)。我的模拟器上还有一个客户端应用程序,它将一个字符串发送到localhost:SERVER_PORT
(localhost:6789
),然后获得另一个字符串。
现在我想知道如何从主机(Mac)访问服务器。我在https://developer.android.com/studio/run/emulator-networking上阅读并尝试了以下内容
$ nc localhost 5554
@ redir add tcp:5000:6789
@ exit
$ nc localhost 5000 (nothing happens)
$ nc localhost 6789 (nothing happens)
其中EMULATOR_PORT = 5554
,SERVER_PORT = 6789
,HOST_MAPPED_PORT = 5000
。
我也尝试在mac上本地运行ifconfig,但我得到了太多接口,并且不知道要尝试哪一个(我有lo0, en0, p2p0, awdl0, en1, en2, bridge0, utun0,1,2
)。
那么我怎么能实现这一目标呢?预期的行为(我认为)将是:
$ nc some_ip server_port
@ type_in_a_string
@ get_a_string_from_server