Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Протокол UDP
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Fast Ethernet/Gigabit Ethernet/FibreChannel
_Anatoliy
Всем доброго дня! Делаю устройство с управлением по UDP и столкнулся с таким непонятным эффектом. Данные перехватываю программой Wireshark, вижу что обмен данными проходит нормально, программа на компе посылает команды и получает ответы от устройства,никаких претензий нет. Но стоит мне только отключить Wireshark и всё ломается. Видно что пакеты уходят в устройство, устройство отвечает , а программа на компе этих ответов не видит. Запускаю Wireshark - опять всё нормально принимается. Может кто сталкивался с таким поведением? На что обратить внимание? Работаю в WinXP, вместо управляющей программы пока использую TCP Port Toolkit.
_Anatoliy
Цитата(_Anatoliy @ Aug 11 2015, 11:44) *

Может ли такое поведение быть связано с какой-то хитрой ошибкой в пакете отправляемом устройством? Неправильно выбранный номер порта и т.д. Хотя Shark не ругается и врукопашную проверял не раз...
halfdoom
Wireshark переводит интерфейс в режим прослушивания всех пакетов, может что-то в кадре не так, и в обычном режиме пакеты от устройства игнорируются.
Maverick
Цитата(_Anatoliy @ Aug 11 2015, 11:44) *
Всем доброго дня! Делаю устройство с управлением по UDP и столкнулся с таким непонятным эффектом. Данные перехватываю программой Wireshark, вижу что обмен данными проходит нормально, программа на компе посылает команды и получает ответы от устройства,никаких претензий нет. Но стоит мне только отключить Wireshark и всё ломается. Видно что пакеты уходят в устройство, устройство отвечает , а программа на компе этих ответов не видит. Запускаю Wireshark - опять всё нормально принимается. Может кто сталкивался с таким поведением? На что обратить внимание? Работаю в WinXP, вместо управляющей программы пока использую TCP Port Toolkit.

Попробуйте проверить, что Вы отправляете - пакет и поля...
Alex11
Был у нас когда-то конфликт между широковещательным MAC-адресом и конкретным IP-адресом. Драйвер такие пакеты выкидывал, а шарк говорил, что все хорошо.
_Anatoliy
Что-то ни к чему не могу придраться,вроде всё правильно. Датаграмма ответа устройства с комментариями прилагается.
zltigo
QUOTE (_Anatoliy @ Aug 11 2015, 11:44) *
На что обратить внимание?

На firewall и прочую подобную мутотень, конечно. Все остальное потом.
_Anatoliy
Цитата(zltigo @ Aug 12 2015, 12:00) *
На firewall и прочую подобную мутотень, конечно. Все остальное потом.

Спасибо.А можно чуть подробнее?
zltigo
QUOTE (_Anatoliy @ Aug 12 2015, 12:56) *
Спасибо.А можно чуть подробнее?

В смысле? Все это штатное (по умолчанию включено) и не штатное (если взгромоздили) ОТКЛЮЧИТЬ полностью. Практически наверняка все на этом и кончится. Если нет, то сменить ломано-шареварный TCP Port Toolkit на, например, http://www.hw-group.com/products/hercules/index_en.html По крайней мере для быстро-лениво посмотреть он у меня никогда не чудил.
_Anatoliy
Цитата(zltigo @ Aug 12 2015, 12:59) *
В смысле? Все это штатное (по умолчанию включено) и не штатное (если взгромоздили) ОТКЛЮЧИТЬ полностью. Практически наверняка все на этом и кончится. Если нет, то сменить ломано-шареварный TCP Port Toolkit на, например, http://www.hw-group.com/products/hercules/index_en.html По крайней мере для быстро-лениво посмотреть он у меня никогда не чудил.

Дело не TCP Port Toolkit , программа написанная в Visual тоже не видит пакетов без шарка.
За совет спасибо.
zltigo
Ну и что после отключения firewall? Если не задышал, то посмотрите список открытых портов ДО того, как запустите приложение, на предемет конфликтов.
doom13
А нулями Ваши данные дополняются (за это должен конечно MAC контроллер отвечать, но мало ли)? Для Ethernet frame получается размер данных 37 байт, а минимальное число должно быть 46 байт.
_Anatoliy
Цитата(doom13 @ Aug 12 2015, 14:28) *
А нулями Ваши данные дополняются (за это должен конечно MAC контроллер отвечать, но мало ли)? Для Ethernet frame получается размер данных 37 байт, а минимальное число должно быть 46 байт.

Вот это называется наступить на грабли! Всё заработало,спасибо огромное!
kolobok0
Цитата(_Anatoliy @ Aug 12 2015, 14:43) *
...заработало,спасибо огромное!


в добавок это настраиваемый параметр обычно...
zltigo
QUOTE (doom13 @ Aug 12 2015, 14:28) *
А нулями Ваши данные дополняются (за это должен конечно MAC контроллер отвечать, но мало ли)? Для Ethernet frame получается размер данных 37 байт, а минимальное число должно быть 46 байт.

Прикольно. Не то, что минимальный фрейм по традиции (разрешениее коллизий в первых чипах) 64 байта/512 бит, с этим понятно, а то, Wireshark насилует по умолчанию настроенный MAC на прием укороченных пакетов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.