|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.05.2015, 00:18 | #1 |
Пользователь
Регистрация: 23.10.2011
Сообщений: 16
|
UDP: проблемы с контрольной суммой
Использую сырые сокеты, поэтому полностью сам задаю заголовки IP и UDP. Скопировал код с другого сайта, и всё работало. Контрольная сумма IP не считается, а в UDP считается по псевдозаголовку. И всё работало, пока мне не понадобилось добавить опции в пакет IP... Я добавил одну опцию (её присутствие учитывается в длине заголовка IP), которая занимает 4 байта. И почему-то когда эта опция равна нулю, то пакеты доходят до места назначения, а когда не равна нулю - не доходят (во второй программе принимаются все пакеты и выводятся на экран, да и там всегда всё принималось до этого). Такое ощущение, как будто опции в заголовке IP влияют на подсчёт контрольной суммы в заголовке UDP, но ведь такого не должно быть! Или что-то где-то делается не так. Подскажите, в чём проблема?
Вот как это всё происходит: Код:
|
16.05.2015, 09:13 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,355
|
Здесь описано как надо считать cheksum для UDP
http://www.faqs.org/rfcs/rfc768.html Обратите внимание на то, что входит в сумму до UDP заголовка. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как вывести на экран номер строки с максимальной суммой элементов и номер столбца с минимальной суммой? | Vetal888888 | C# (си шарп) | 4 | 20.12.2011 13:46 |
В квадратной матрице найти столбец с максимальной суммой и строку с максимальной суммой (Pascal) | Alexey355 | Помощь студентам | 1 | 26.03.2011 14:06 |
проблема с фильтрами и суммой: | dimmor | Microsoft Office Excel | 5 | 25.06.2009 15:10 |
Помогите с контрольной суммой!! | tvaplus002 | Софт | 7 | 23.03.2009 13:57 |