2014-01-15 3 views
0

Я временно используя следующую строку, чтобы создать ServerSocket на моем Android телефона:Принимать все входящие запросы на ServerSocket

socketl = new ServerSocket(port, 0, InetAddress.getByName("192.168.0.108")); 

Но это действительно раздражает, и, кроме того, неудобные для пользователей, чтобы изменить IP адрес вручную каждый раз, когда DHCP назначает новый IP-адрес для телефона. Поэтому я ищу способ получить IP-адрес, который DHCP-сервер предоставил моему телефону.

Ive пробует InetAddress.getLocalHost().getHostAddress(), но это только вернуло петлю IPv4 (127.0.0.1).

Есть ли способ получить текущий локальный IP (v4) или способ принять каждый запрос, независимо от того, какой IP-адрес используется для подключения? Если IP-адрес в приведенной выше строке не совпадает с IP-адресом, который использует клиент, он не работает.

+0

Ты прочитал [руководство] (http://docs.oracle.com/javase/7/docs/api/java/ net/ServerSocket.html # ServerSocket% 28int,% 20int,% 20java.net.InetAddress% 29), не так ли? –

+0

Я использовал учебник, в котором ничего не упоминалось ... – s3lph

ответ

2

Вы можете использовать

socketl = new ServerSocket(port, 0); 

или даже

socketl = new ServerSocket(port); 
Смежные вопросы