Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Маленький вопрос по приему в soket


grvakh ©   (2002-11-26 14:37:00) 

Если в событии onRead пришло меньше байт, чем надо и я их НЕ считал, то они пропадают или как?
Можно ли просто дождаться следующего события и считать всё сразу?

(Как правильно - я знаю. читать что есть в массив байт с нужной позиции.
z:bufvar; br:integer; // byte read
zb:array[...] of byte absolute z;
и т.д. и т.п. )


Slym   (2002-11-27 06:31:00) [1]

Протокол свой придумай - типа HTTP.
Сначала короткий заголовок (что, куда и сколько)
А потом читай в буфер хоть N раз пока не придет "сколько" байт и лепи их в один.


Digitman   (2002-11-26 15:09:00) [2]

а какой там "ритм" ?)

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

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


grvakh   (2002-11-26 14:59:00) [3]

Cпасибо. Оч. хор., что так.

Естественно, считать необходимую порцию, а там, глядишь, и "ритм восстановится".

grvakh


Digitman   (2002-11-26 14:40:00) [4]


> Если в событии onRead пришло меньше байт, чем надо и я их
> НЕ считал, то они пропадают или как?


Нет, не пропадают.


> Можно ли просто дождаться следующего события и считать всё
> сразу?


Не можно, а нужно ! Только не "всё сразу", а ровно столько, сколько тебе не достает для "полного счастья" именно в данный момент времени - в момент обработки тек.события OnRead()


Наверх

Титульная страница Поиск, карта сайта Написать письмо