Главная страница
    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.037 c
1-1083727727
russko
2004-05-05 07:28
2004.05.16
Многоуровневый выпадающий список


14-1083042907
Drozdov A
2004-04-27 09:15
2004.05.16
CorelDraw 11


8-1076828761
Cash
2004-02-15 10:06
2004.05.16
? *.xm ?


14-1082631749
Knight
2004-04-22 15:02
2004.05.16
Можно ли в XP сделать одну запись, типа, Default...


4-1080817089
Lobster
2004-04-01 14:58
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский