Вниз
Скачать: 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.024 c
9-1072057789
Dmitrich
2003-12-22 04:49
2004.05.16
опять DoCollision


1-1083071145
Ruslan
2004-04-27 17:05
2004.05.16
Вопрос по функции FloatToStr


6-1080020357
Ламерочек
2004-03-23 08:39
2004.05.16
email


11-1069575435
Raki
2003-11-23 11:17
2004.05.16
Kol


1-1083435603
neteditor
2004-05-01 22:20
2004.05.16
Как выгрузить TMemoryStream в PChar?




   Наверх