![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Winsock [D5, D6, D7, Win2k, WinXP]
xoms © (2004-09-24 05:21:00)Я хочу отправить в сеть ну например 5000 байт, вызываю WSASend и на приёмной стороне получаю море мелких пакетов. WSARecv вызывается многократно.
Вопрос, что надо сделать при создании, посылке, получении или ещё где, чтобы WSARecv вызвался только 1 раз и все 5000 байт мне вернул.
Verg (2004-09-25 23:16:00) [1]
> Вопрос, что надо сделать при создании, посылке, получении
> или ещё где, чтобы WSARecv вызвался только 1 раз и все 5000
> байт мне вернул.
Нет.
Придется все-таки "комбайны под землю делать",
никак не наоборот :).
Digitman (2004-09-24 08:42:00) [2]
> что надо сделать при создании, посылке, получении или ещё
> где, чтобы WSARecv вызвался только 1 раз и все 5000 байт
> мне вернул.
что ж страшного в том, что recv-ф-цию приходится вызывать многократно ?
это абсолютно нормальное явление, потому что TCP-протокол поточноориентированный (stream oriented)
хочешь получать сообщения целиком ? используй UDP-протокол (message oriented), но при этом забудь о гарантии доставки сообщений, которую дает TCP-протокол
Defunct (2004-09-24 06:01:00) [3]переставить иконки на рабочем столе
> море мелких пакетов
море = 3?