Возможно, это будет скорее сетевой вопрос, чем вопрос на C++, но у меня есть приложение iOS через UDP с сетевым ПК. Оба используют некоторые UDP классы сокетов, которые я написал в C. Вот мои симптомы:UDP Broadcast Traffic Not Received
- Когда приложение PC посылает широковещательный трафик, Wireshark на самом ПК видит его, как это делает приложение IOS. Третий ПК в той же сети также видит пакеты через Wireshark.
- Когда приложение iOS отправляет широковещательный трафик, ПК с приложением не даже видит пакеты в Wireshark. Однако третий компьютер делает.
Дополнительная информация:
- ПК под вопросом работает Windows 7.
- Он имеет Ethernet порт, который используется для камеры.
- В нем есть беспроводная сетевая карта, которая соединена с сетью и также использует сложное небольшое приложение под названием Connectify для самостоятельного создания собственной беспроводной сети. Я пытаюсь отправить данные через сеть Connectify. Тем не менее, я попытался отправить данные по другой беспроводной сети, отличной от Connectify, и он все еще не работает (хотя третий компьютер в сети по-прежнему видит трафик). ОБНОВЛЕНИЕ Пренебрежение последним предложением. Это неверно. Если я меняю беспроводные сети, он работает.
Что я пробовал:
- я первый предположил, что это проблема в таблице маршрутизации, поэтому я добавил постоянные маршруты с низкими метрическими номерами для любых записей, относящихся к этому интерфейсу. Таблица маршрутизации здесь:
IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 10.1.11.1 10.1.11.169 25 10.1.11.0 255.255.255.0 On-link 10.1.11.169 281 10.1.11.169 255.255.255.255 On-link 10.1.11.169 281 10.1.11.255 255.255.255.255 On-link 10.1.11.169 281 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 192.168.190.0 255.255.255.0 On-link 192.168.190.1 6 192.168.190.1 255.255.255.255 On-link 192.168.190.1 6 192.168.190.255 255.255.255.255 On-link 192.168.190.1 6 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 10.1.11.169 281 224.0.0.0 240.0.0.0 On-link 192.168.190.1 257 255.255.255.255 255.255.255.255 On-link 192.168.190.1 6 =========================================================================== Persistent Routes: Network Address Netmask Gateway Address Metric 255.255.255.255 255.255.255.255 192.168.190.1 5 192.168.190.0 255.255.255.0 192.168.190.1 5 192.168.190.1 255.255.255.255 192.168.190.1 5 192.168.190.255 255.255.255.255 192.168.190.1 5 ===========================================================================
- я тогда предположил, что там было что-то странное происходит с этой программой Connectify, поэтому я попытался вещание через 10.1.11 сети (после отмены моих постоянных маршрутов). Как отмечено выше, это удается.
Любые идеи? Я в тупике. Я полагаю, что это может быть ограничение сетевой карты, но почему тогда можно увидеть, как выходят его собственные широковещательные пакеты? Может ли быть, что размеры пакетов, выводимые iOS, слишком велики для ПК-адаптера?
Если PC2 видит широковещательные передачи UDP с устройства iOS, но не PC1, проблема, похоже, будет в PC2. Очевидно, что устройство iOS генерирует действительный UDP-трафик и, следовательно, это, вероятно, не проблема сетевой библиотеки). Наиболее вероятным виновником является Connectify. В этой ситуации повторное рассмотрение вашего вопроса или предоставление советов Connectify советов может показаться наиболее разумной задачей. – Rook
просто мысль ... у вас есть брандмауэр на ПК? (иногда в комплекте с антивирусом). Брандмауэры, как правило, подозрительно относятся к внешнему бродягу. Попробуйте отключить его, если у вас есть. – Offirmo