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

Использование буфера при ClientRead.   Найти похожие ветки 

← →
Новичёк   (2004-03-30 17:19) [0]

Уважаемые Мастера, есть процедура обработки события сокета OnRead:

procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
 Buffer: AnsiString;
begin
  Buffer := Client.Socket.ReceiveText;
end;

Вопрос:
Когда необходимо применять
      Buffer := Client.Socket.ReceiveText;
а когда
      Buffer := Buffer + Client.Socket.ReceiveText;
???
Непонятно...


← →
Reindeer Moss Eater ©   (2004-03-30 17:27) [1]

Для твоей процедуры это одно и тоже.


← →
Digitman ©   (2004-03-30 17:29) [2]

сам-то как думаешь ?


← →
Новичёк   (2004-03-30 17:30) [3]

Думаю, что это зависит от того, какой величины пакеты разрешены в данной подсети. Так?


← →
Новичёк   (2004-03-30 17:32) [4]


> Reindeer Moss Eater
А вот и нет :-( Даю разные команды на сервер, в одних случаях приходит ответ полностью, в других - частями.


← →
Digitman ©   (2004-03-30 17:33) [5]


> Новичёк


на момент начал выполнения любого из представленных вариантов переменная Buffer у тебя всегда будет = "", ибо она локальная

буфер накопления в дан.случае имеет смысл, если он НЕ локальный


← →
Reindeer Moss Eater ©   (2004-03-30 17:33) [6]

Вот именно


← →
Новичёк   (2004-03-30 17:53) [7]


> Digitman
Проверил. Вы, как всегда, правы. Странно всё-таки работает буфер клиента сокета.


← →
Digitman ©   (2004-03-31 08:29) [8]


> Новичёк


> Странно всё-таки работает буфер клиента сокета


что ж странного ? транспортный протокол-то используется здесь поточный

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

ReceiveText выбирает из вх.потока все что там есть , без разбору



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

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



Память: 0.46 MB
Время: 0.023 c
3-1082465871
stud
2004-04-20 16:57
2004.05.16
использование параметра для LIKE


14-1082999392
Def_E
2004-04-26 21:09
2004.05.16
Кодировка текста


1-1083292783
Sun bittern
2004-04-30 06:39
2004.05.16
Инспектор объектов


1-1083078463
.Lex
2004-04-27 19:07
2004.05.16
Как отловить Error в программе?


1-1083224767
killer
2004-04-29 11:46
2004.05.16
Кнопка в StringGrid




   Наверх