Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не получается принять TCP/IP пакет более 2048 байт.

50K
23 сентября 2011 года
Gvaler
8 / / 29.09.2009
Использую MFC. Имеется UDP-сокет (CAsyncSocket). При приходе пакета длиной более 2048 байт функция ReceiveFrom возвращает SOCKET_ERROR, а GetLastError при этом определяет, что ошибка следующая: WSAEMSGSIZE (10040) - "A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself".

Установка опции сокета
int RcvBufSize = 0x3000;
pSocket->SetSockOpt(SO_RCVBUF, &RcvBufSize, sizeof(RcvBufSize), SOL_SOCKET)
не помогает (если ничего не устанавливать, то по умолчанию 8192 байта).

В чём может быть проблема?

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог