Главная страница
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.063 c
2-1142356163
Fenix
2006-03-14 20:09
2006.04.02
TreeView


3-1139306548
Paha
2006-02-07 13:02
2006.04.02
изменить запущенного проекта из PROGRAM в v$session


10-1115904156
Иван Шихалев
2005-05-12 17:22
2006.04.02
Что почитать по CORBA?


2-1142416011
KyRo
2006-03-15 12:46
2006.04.02
Функция задержки


1-1141017040
Димон
2006-02-27 08:10
2006.04.02
Отправить на печать все строки TMemo