У меня сервер работает на эмуляторе 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
.
Я также попытался запустить ifconfig локально на Mac, но я получил слишком много интерфейсов и не знал, какой из них попробовать (у меня lo0, en0, p2p0, awdl0, en1, en2, bridge0, utun0,1,2
).
Так как именно можноЯ достиг этого?Ожидаемое поведение (я думаю) будет:
$ nc some_ip server_port
@ type_in_a_string
@ get_a_string_from_server