Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

что делать если не успеваеш считывать буфер   Найти похожие ветки 

 
Lena19   (2004-04-21 18:19) [0]

всем привет
народ а что будет если клиентская часть сокета не будет успевать выбирать данные из буфера а сервер будет их туда гнать?
или клиент заблокируется пока буфер не будет прочитан
если новые данные затирают еще не прочитанные как с этим боротся ?


 
VMcL ©   (2004-04-21 18:23) [1]

>>Lena19  (21.04.04 18:19)

>новые данные затирают еще не прочитанные

Это что-то новое в сетевых протоколах.


 
Lena19   (2004-04-21 18:54) [2]

значит просто растет размер буфера и данные из второй посылки  просто дополнят собой буфер (тогда что будет если клиент вообще не читает данные из буфера. веть когдато память закончится)


 
Digitman ©   (2004-04-21 18:55) [3]


> если новые данные затирают еще не прочитанные


ничего они не "затирают"

все что к тебе пришло (в очередности отправки), ждет своего часа для считывания ... хошь - считывай, хошь - сходи покури, кофе попей неспеша ... придешь и всю свою корреспонденцию получишь в наилучшем виде .. пока соединение не разорвано


 
Digitman ©   (2004-04-21 18:57) [4]


> Lena19


закончится или не закончится - это не твои проблемы, это проблемы системы

от твоего "приемника" лишь требуется насколько это возможно быстрей реагировать на события транспорта и считывать как можно быстрей то, что стоит в очереди на считывание ... хоть маленькими порциями считывать, хоть большими - неважно


 
Verg ©   (2004-04-21 19:03) [5]


> Lena19   (21.04.04 18:54) [2]
> значит просто растет размер буфера и данные из второй посылки
>  просто дополнят собой буфер (тогда что будет если клиент
> вообще не читает данные из буфера. веть когдато память закончится)


Нет, буфер ограничен, и если из него никто, ничего не читает, то противополжная сторона об этом информируется (грубо говоря), а та в свою очередь не дает передающему приложению пополнять ее передающие буфера (сообщая, что WSAEWOULDBLOCK, например, для неблокирующего сокета). И все. Грамотное предающее приложение просто будет ждать того (если обратно все по цепочке протокола раскрутить), что приемная сторона соизволила начать считывать данные, а не будет продолжать взахлеб пихать данные в свой сокет, не обращая внимания на ошибки при передаче и проч.



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

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.079 c
14-1085720232
ORMADA
2004-05-28 08:57
2004.06.13
Хде Дельфим держит свои иконки ?


11-1074259099
dolp
2004-01-16 16:18
2004.06.13
Как преобразовать Float в String


6-1082700117
thebatko
2004-04-23 10:01
2004.06.13
Сети


4-1083922189
Pavel Mikhailov
2004-05-07 13:29
2004.06.13
Id потока-> HANDLE процесса


4-1084000717
Plesh
2004-05-08 11:18
2004.06.13
Как мне ламеру вернуть значки рабочего стола на место??