может ли сообщение просто исчезнуть между вызовом sendto () и отправляющей сетевой картой без уведомления звонящего? - PullRequest
2 голосов
/ 07 февраля 2011

Я отправляю дейтаграмму (6740 байт) с sendto () другому хосту в той же локальной сети. Часто проблем не возникает, и другой хост получает дейтаграмму. Но иногда датаграмма исчезает, она никогда не достигает локального сетевого интерфейса, я видел это с wireshark. Но функция sendto () не указывает на какую-либо проблему (т.е. возвращает -1). Возвращает 6740. Я также посмотрел с помощью strace, и все, кажется, в порядке. Как это может быть, что sendto () говорит, что все в порядке, но ничего не отправляется на интерфейс? Я использую Ubuntu 10.04 и обычную функцию c sendto() (но через библиотеку ACE). Как я могу исследовать это дальше? Основной вопрос, вероятно, таков: может ли сообщение просто исчезнуть между вызовом sendto () и отправляющей сетевой картой без уведомления звонящего?

...