Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
1-1141138844
RomanH
2006-02-28 18:00
2006.04.02
Изменение индекса в меню


15-1141746878
Pazitron_Brain
2006-03-07 18:54
2006.04.02
В чем проблема?


15-1142158539
grisme
2006-03-12 13:15
2006.04.02
Двойной интеграл


2-1142909634
Andrewmx
2006-03-21 05:53
2006.04.02
Деревья


2-1142873806
VAZMan
2006-03-20 19:56
2006.04.02
вывод информации




   Наверх