Вниз
Скачать: CL | DM;

Winsock   Найти похожие ветки 

 
xoms   (2004-09-24 05:21) [0]

Я хочу отправить в сеть ну например 5000 байт, вызываю WSASend и на приёмной стороне получаю море мелких пакетов. WSARecv вызывается многократно.

Вопрос, что надо сделать при создании, посылке, получении или ещё где, чтобы WSARecv вызвался только 1 раз и все 5000 байт мне вернул.


 
Defunct ©   (2004-09-24 06:01) [1]

переставить иконки на рабочем столе

> море мелких пакетов
море = 3?


 
Digitman ©   (2004-09-24 08:42) [2]


> что надо сделать при создании, посылке, получении или ещё
> где, чтобы WSARecv вызвался только 1 раз и все 5000 байт
> мне вернул.


что ж страшного в том, что recv-ф-цию приходится вызывать многократно ?

это абсолютно нормальное явление, потому что TCP-протокол поточноориентированный (stream oriented)

хочешь получать сообщения целиком ? используй UDP-протокол (message oriented), но при этом забудь о гарантии доставки сообщений, которую дает TCP-протокол


 
Verg ©   (2004-09-25 23:16) [3]


> Вопрос, что надо сделать при создании, посылке, получении
> или ещё где, чтобы WSARecv вызвался только 1 раз и все 5000
> байт мне вернул.


Нет.
Придется все-таки "комбайны под землю делать",
никак не наоборот :).



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1101271504
DDDeN
2004-11-24 07:45
2004.12.05
Получить строку из TStringGrid


3-1099915999
Danila
2004-11-08 15:13
2004.12.05
InterBase 6.0 Как получить список полей из системной таблици


4-1097695561
cerber1
2004-10-13 23:26
2004.12.05
Вызов неэкспортируемых функций


3-1098726843
Armada
2004-10-25 21:54
2004.12.05
Выбор сервера БД? BDE -> ??? Помогите разобраться


9-1091277169
MANGOL
2004-07-31 16:32
2004.12.05
дальность хода




   Наверх