Пакет многоадресной рассылки не доходит до телефона из ethernet

#android #networking #multicast #lan #jmdns

#Android #сеть #многоадресная рассылка #локальная сеть #jmdns

Вопрос:

Я не могу отправить пакет многоадресной / широковещательной рассылки udp с ноутбука, «подключенного» к маршрутизатору wifi, на телефон Android, подключенный к тому же маршрутизатору по беспроводной сети. Это работает наоборот (с телефона на ноутбук). Кроме того, телефон может получить пакет, если я явно укажу ip-адрес телефона в своем коде. Во-вторых, нет проблем, если оба устройства подключены через Wi-Fi. Я даже пробовал jmdns, но возникает та же проблема. В чем может быть проблема? Любая неправильная конфигурация маршрутизатора? Пожалуйста, помогите.

Комментарии:

1. Вероятно, это вызвано тем, что маршрутизатор не пересылает широковещательный UDP; лучший способ проверить это — подключить ноутбук по беспроводной сети и повторно запустить трансляцию с телефона на ноутбук. Какая марка / модель маршрутизатора?

2. Все работает отлично, когда я подключаю ноутбук по беспроводной сети. Проблема возникает именно при подключении ноутбука с помощью кабеля Ethernet. Это странно, потому что они находятся в одной подсети и оба получают внутренние IP-адреса от маршрутизатора. И я не думаю, что это проблема с конкретным маршрутизатором, поскольку такая же проблема возникла и на маршрутизаторе dlink моего друга.

3. Если он работает должным образом, когда у вас есть ноутбук и телефон, подключенные по беспроводной сети к одной точке доступа, то это должно быть проблемой, поскольку маршрутизатор не перенаправляет широковещательные пакеты Ethernet на Wi-Fi; без подробностей о маршрутизаторе, я не думаю, что кто-нибудь может вам помочь.

4. Это маршрутизатор, предоставляемый моим поставщиком услуг dsl. Модель Beetel 450TC1 ADSL2 .

5. Может ли ваш компьютер получать многоадресный трафик… Вы можете проверить в wireshark … на порту 5353…

Ответ №1:

Перед попыткой получения каких-либо данных многоадресной рассылки необходимо установить многоадресную блокировку. На некоторых устройствах HTC это также относится к приему широковещательного трафика. Вы можете получить блокировку многоадресной рассылки с помощью WifiManager.

Комментарии:

1. Я сделал это, и в коде нет проблем. Как я упоминал ранее, пакеты многоадресной рассылки принимаются моим телефоном, когда я подключаю свой ноутбук по беспроводной сети. Проблема возникает, когда я подключаю свой ноутбук с помощью кабеля Ethernet.

2. У вас есть другой компьютер, чтобы проверить, локализована ли проблема на вашем ноутбуке? У вас есть другой компьютер, подключенный к маршрутизатору, чтобы проверить, действительно ли при использовании Ethernet пакет многоадресной рассылки попадает и на этот компьютер? Использовали ли вы wireshark на ноутбуке, чтобы узнать, отправляется ли пакет многоадресной рассылки так, как вы ожидаете, на самом ноутбуке?

3. Я попытался использовать другой ноутбук, и он временно работал, а затем остановился. Действительно странно. Поэтому я предполагаю, что это не проблема с маршрутизатором. Я заметил, что при переключении с беспроводной сети на Ethernet возникают проблемы. например: если беспроводная связь работает правильно, и я переключаюсь на Ethernet, отправка может не работать, но когда я переключаюсь обратно на беспроводную связь, все снова начинает работать. очень странно.

4. Я вижу. Лучший способ отладки такого рода вещей — с помощью Wireshark. Вы можете видеть, какие пакеты отправляются и получаете ли вы их. Запуск его на обоих ноутбуках должен дать вам представление о том, в чем проблема. Откуда вы знаете, что ваш телефон больше не получает трафик? Использовали ли вы WifiLock и WakeLock, чтобы убедиться, что ваш Wi-Fi и процессор не отключаются.

5. Я нашел обходной путь. Я должен перезагружать свой ноутбук каждый раз, когда хочу переключиться с беспроводной сети на Ethernet. (Переход от Ethernet к беспроводной сети происходит плавно) В противном случае я предполагаю, что ноутбук не передает пакет многоадресной рассылки. И, следовательно, телефон его не получает. Хотя мне придется подтвердить это с помощью wireshark. Нужно научиться им пользоваться. При перезапуске пакеты передаются правильно, и телефон получает их. Все это время приложение на телефоне остается нетронутым. Так что, скорее всего, это проблема с ноутбуком (в частности, с картой локальной сети). Самое большее, проблема с маршрутизатором, но маловероятно.

Ответ №2:

Здесь та же проблема, но исправлена, это проблема с настройкой маршрутизатора.

В моем случае пришлось активировать «Отслеживание IGMP» в меню конфигурации моего маршрутизатора (дополнительно-> Локальная сеть) И «стандартный режим» вместо режима блокировки.

Это заставило мой маршрутизатор передавать все пакеты многоадресной рассылки из Ethernet через Wi-Fi.

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