![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 30.09.2009
Сообщений: 2
|
![]()
Использую 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 байта). |
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.10.2009
Сообщений: 79
|
![]()
попробуйте разбить пакет по 1024 байта и принимать в массив, а потом уже склеить и что-то с ним делать.
|
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 30.09.2009
Сообщений: 2
|
![]()
Проблема решилась - откровенно ступил, не заметив сразу что буфер для приёма данных объявлен длиной 2048 байта.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не получается создать удалённое сетевое подключение между двумя компами по протоколу TCP | anyx | Свободное общение | 3 | 31.05.2011 20:55 |
Как принять пакет с сервера | Federal | Работа с сетью в Delphi | 1 | 31.05.2010 09:02 |
Создать tcp/ip пакет | heart | Помощь студентам | 6 | 12.03.2009 16:04 |
Hello, World! размером не более 46 байт | romark | Помощь студентам | 4 | 24.12.2008 11:27 |
Отправить , а потом принять пакет. | casper123 | Работа с сетью в Delphi | 3 | 16.08.2008 02:56 |