![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Правильное использование WriteBuffer/ReadBuffer в IndyTCPClient [D7, Win2k]
BFG9k © (2006-03-01 12:20:00)Делаю следующим образом:
//соединяюсь с сервером
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 ?
Reindeer Moss Eater (2006-03-01 16:51:00) [1]Боже, как все сложно и замысловато....
Procedure Send;
begin
IdTCPClient1.Connect(5000);
GetMem(Buf,32768);
FillChar(Buf^,32768,0);
//заполняю его каким-то образом
//инициирую Size1
...
IdTCPClient1.WriteBuffer(Buf^,Size);
....
end;
И все!
BFG9k (2006-03-01 16:48:00) [2]Спасибо, разобрался. Серверу всякую фигню передавал, вот он и не отвечал.
umbra (2006-03-01 12:29:00) [3]так а сервер клиенту посылает что-то при этом? ошибка говорит о том, что данные от сервера не приходят.