2014-04-19 3 views
1

Можно ли установить соединение с сервером Mac Address с использованием сокета, или мне нужно IP-адрес сервера для установки соединения от клиента к серверу, используя место посадки башмака обсадной колонны в скважинеAndroid клиент и сервер сокетов соединение

socket = new Socket(serverAddr, SERVERPORT); 

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

Здесь и клиент, и сервер - телефон Android.

+0

Я подозреваю, что идентификация хостов по MAC-адресу может быть не идеальным решением вашей основной проблемы; если вы дадите нам больше контекста, мы сможем оказать вам больше помощи. – mfrankli

+0

@mfrankli Если это не так, то любой другой способ сделать? – Mick

ответ

1

Похоже, вы пытаетесь подключиться к тому же устройству, даже если это может быть новый IP-адрес?

MAC-адрес - это один из способов сделать это. По this blog post вы можете прочитать от /proc/net/arp и разобрать эту информацию, потому что Android основан на Linux. В этом файле хранятся сопоставления MAC address-IP address, и вы можете использовать извлеченный IP-адрес для подключения Socket.

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

+0

Похоже, вы пытаетесь подключиться к одному и тому же устройству, даже если он может получить новый IP-адрес? - Нет, мне нужен сервер и клиент на разных телефонах Android и вы хотите установить соединение с сервером от клиента. Здесь мне нужен IP-адрес, который я хочу оставаться таким же – Mick

+0

Итак, '/ proc/net/arp' можем ли мы получить доступ к этим данным файла без root? – Mick

+0

Я не уверен, но это легко проверить! (Я думаю, вам нужен корень.) Как я уже сказал, мы могли бы быть более полезными с большим контекстом. – mfrankli

Смежные вопросы