Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

Правильное использование WriteBuffer/ReadBuffer в IndyTCPClient   Найти похожие ветки 

 
BFG9k ©   (2006-03-01 12:20) [0]

Делаю следующим образом:


//соединяюсь с сервером
Procedure Send;
begin
  IdTCPClient1.Connect(5000);
end;
//соединение проходит успешно

//обработчки события IdTCPClient
procedure IdTCPClient1Connected(Sender: TObject);
var Buf:PChar;
    Size1,Size2:integer;
begin
//создаю буфер
 GetMem(Buf,32768);
 FillChar(Buf^,32768,0);

//заполняю его каким-то образом
//инициирую Size1
...

 IdTCPClient1.WriteBuffer(Buf^,Size);
...
//инициирую Size2

 try
   IdTCPClient1.ReadBuffer(Buf^,Size2);
 except
//вылезает исключение ReadTimeOut
end;

 FreeMem(Buf);

 IdTCPClient1.Disconnect;
end;



Сервер работает нормально, в другие приложения данные передает. Может быть я неправильно использую IndyTCPClient ?


 
umbra ©   (2006-03-01 12:29) [1]

так а сервер клиенту посылает что-то при этом? ошибка говорит о том, что данные от сервера не приходят.


 
BFG9k ©   (2006-03-01 16:48) [2]

Спасибо, разобрался. Серверу всякую фигню передавал, вот он и не отвечал.


 
Reindeer Moss Eater ©   (2006-03-01 16:51) [3]

Боже, как все сложно и замысловато....

Procedure Send;
begin
 IdTCPClient1.Connect(5000);
 GetMem(Buf,32768);
 FillChar(Buf^,32768,0);
 //заполняю его каким-то образом
 //инициирую Size1
 ...
IdTCPClient1.WriteBuffer(Buf^,Size);
....
end;

И все!



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

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.064 c
2-1142489443
dera
2006-03-16 09:10
2006.04.02
Нужен ли дополнительный софт (Вин98) для работы с ADO?


11-1123526991
mixis
2005-08-08 22:49
2006.04.02
Борюсь с подменю - заменить и удалить


2-1142872872
AlexLines
2006-03-20 19:41
2006.04.02
Что это за PrintDialog?


2-1142712031
TStas
2006-03-18 23:00
2006.04.02
Что такой TIme в TSearchRec


15-1142065152
Труп Васи Доброго
2006-03-11 11:19
2006.04.02
Альтернативные потоки NTFS