Я временно используя следующую строку, чтобы создать 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-адресом, который использует клиент, он не работает.
Ты прочитал [руководство] (http://docs.oracle.com/javase/7/docs/api/java/ net/ServerSocket.html # ServerSocket% 28int,% 20int,% 20java.net.InetAddress% 29), не так ли? –
Я использовал учебник, в котором ничего не упоминалось ... – s3lph