2016-08-03 2 views
0

Я пытаюсь подключить 2 устройства через сокеты, чтобы они могли обмениваться данными. Они также подключены через точку доступа Wi-Fi. Я пользуюсь услугами.Android - получить ip моего хост-спот-хоста

Устройство 1 является точкой доступа (где реализована ServerSocket), устройство 2 - это тот, кто подключается к нему (где реализован Socket). Я провел некоторое исследование, и я могу получить ip каждого из них (но рассчитан на их собственный класс). Но для того, чтобы создать клиентский сокет, мне нужен IP-адрес хоста (телефона, который работает как горячая точка) в другом классе. Я не могу получить его на стороне сервера, потому что эта часть кода не будет выполнена, так как я использую один телефон для создания сети точек доступа, а другой - для подключения к нему.

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

Итак, как я могу получить IP-адрес сервера (хост-спот-хост) в клиенте (телефон, подключенный к этой горячей точке)?

+0

Как вы определяете ip клиента на клиенте? – greenapps

+0

http://stackoverflow.com/questions/5387036/programmatically-getting-the-gateway-and-subnet-mask-details – greenapps

+0

Чтобы получить ip клиента на клиенте, я использовал getHostAddress() из inetAddress. Я бы получил список networkinfo, а затем я получил бы inetaddress для каждой из этих сетевых конфигураций, а затем позвонил getHostAddress(), для объекта, который не был loopbackaddress. Что-то похожее на это: http://stackoverflow.com/a/10199498/6634292 –

ответ