Устройство Android игнорирует запросы ARPJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Устройство Android игнорирует запросы ARP

Сообщение Anonymous »

Я пишу приложение для Android, в котором мне нужно общаться с компьютером по сети Wi-Fi. Весь код написан на Java, а сеть Wi-Fi представляет собой одноранговую сеть. Чтобы подключиться, я начинаю с отправки запроса широковещательного имени NBNS для машины, к которой я хочу подключиться, со своего телефона. В большинстве случаев это работает так, как ожидалось (примерно в 3 или 4 случаях из 5). Однако иногда запрос имени не удается. В любом случае, когда я отправляю запрос имени, сразу после того, как я вижу пакеты запроса имени на компьютере, к которому пытаюсь подключиться (с помощью Wireshark), я вижу, что запрос ARP выглядит так...

HonHaiPr_69:a0:67 Трансляция ARP 42 У кого есть 192.168.1.2? Скажите 192.168.1.10

Это карта с компьютера, к которому я пытаюсь подключиться, и спрашиваю, у кого есть адрес моего телефона. В случае успеха мой телефон послушно отвечает ответом ARP...

SamsungE_75:46:bb HonHaiPr_69:a0:67 ARP 42 192.168.1.2 находится в 98:0c: 82:75:46:bb

Как только мой телефон ответит на запрос ARP, я смогу продолжить и общаться с компьютером. Однако запрос имени завершается неудачей, когда мой телефон игнорирует эти ARP-запросы. Я никогда не вижу ответа ARP, и время ожидания запроса NBT, который я отправил, истекает. Я пробовал все доступные мне формы инициализации датаграмм/сокетов в стандартных Java-пакетах, и ничего не помогло. Я исследовал возможность написания собственных пакетов ответов ARP, но из-за того, где в стеке находится ARP, мне нужен доступ к возможностям программирования необработанных сокетов, а это означает, что мне нужно рутировать свой телефон. Для меня это неприемлемое решение, потому что я хочу, чтобы средний пользователь Android мог использовать это приложение, не делая ничего особенного со своим телефоном или сетью Wi-Fi. Если кто-нибудь из вас уже сталкивался с этой проблемой и решил ее, не могли бы вы сообщить мне волшебную формулу? Заранее благодарим за любой вклад, который вы можете предложить.

Подробнее здесь: https://stackoverflow.com/questions/189 ... rp-queries
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»