WinSock UDP IP_DONTFRAGMENT

У меня есть программное обеспечение, написанное на C ++, которое действует по-разному на 2 отдельных компьютерах. Программное обеспечение отправляет UDP-пакеты, используя:

m_socketHandle = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)

Обе машины используют WIN 7 SP1

По словам Wireshark:

Машина 1: для раздела «Не фрагментировать» заголовка IP задано значение «Не фрагментировать: не установлено».

Машина 2: для нее установлено значение 1 «Не фрагментировать: УСТАНОВИТЬ».

введите описание изображения здесь

Так что это побудило меня попробовать и явно установить его, используя:
Этот вопрос стека

а также

int val = 1;
setsockopt(sd, IPPROTO_IP, IP_DONTFRAGMENT, (char *)&val, sizeof(val));

Но это никак не влияет на результат, который всегда был «Не фрагментируй: НЕ УСТАНАВЛИВАЙ».

Я что-то здесь упускаю, почему это было бы по-разному на разных машинах, даже если код явно не устанавливал это?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]