Не удается использовать ServerSocket на Android

Я пытаюсь прослушивать порт, используя ServerSocket на устройстве Android. Я хочу иметь возможность подключаться к этому порту через WiFi с помощью компьютера в той же сети.

Я не получаю исключения при привязке его к порту, однако, когда я проверяю netstat, он говорит:

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 (null):4040             (null):*                LISTEN

Я пробовал бесчисленное количество способы привязки его к localhost, 0.0.0.0, IP-адресу WiFi LAN устройства с SocketInetAddress и InetAddress.getByName . Кажется, ничего не работает.

Когда я пытаюсь подключиться к порту с компьютера в том же WiFi (я пробовал и netcat, и Java Socket.connect () ), все, что я вижу в Wireshark - это ARP-запрос:

Who has [phone's LAN address]? Tell [computer LAN address].

Этот запрос повторяется до истечения времени ожидания.

Я пробовал обратный путь, Код прост:

ServerSocket server = new ServerSocket();
server.setReuseAddr(true);
server.setTimeout(0);
server.bind(new InetSocketAddress(4040));

Socket client = null;
while((client = server.accept()) == null);
// Connected
enter code here
enter code here
11
задан shuwo 29 August 2010 в 16:37
поделиться