Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

Использование буфера при 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 вся ветка

Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.032 c
8-1077381731
Cerber
2004-02-21 19:42
2004.05.16
png


6-1080475939
iudjen
2004-03-28 16:12
2004.05.16
как скачать файл с интернета


14-1083081391
RealRascal
2004-04-27 19:56
2004.05.16
Тараканы вымерли?


7-1080549868
Ivolg
2004-03-29 12:44
2004.05.16
Прехват клавишь: Alt ,Ctrl и Delete


3-1082283525
Viktor
2004-04-18 14:18
2004.05.16
ограничение кол-ва записей





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский