Leha |
Отправлено: 09.07.2005, 10:08 |
|
Не зарегистрирован
|
Коллеги. Такой вопрос.
CODE | //---------------------------------------------------------------------------
void __fastcall TForm1::IdTCPServer1Execute(TIdPeerThread *AThread)
{
if(AThread->Connection->Connected()==true)
{
AnsiString TempString;//while
TempString=AThread->Connection->ReadLnWait();
Memo1->Lines->Append(TempString);
Memo1->Lines->Append(AThread->Connection->CurrentReadBufferSize());
AThread->Connection->Write(AnsiString("AAAAAAAAAAAAAAA"));
AThread->Connection->Disconnect();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IdTCPClient1->Connect();
if(IdTCPClient1->Connected())
{
IdTCPClient1->WriteLn(Edit1->Text);
AnsiString Buff;
Buff=IdTCPClient1->ReadLnWait();
IdTCPClient1->Disconnect();
}
}
//---------------------------------------------------------------------------
|
Прога подвисает при получении ответа сервера на строке
Buff=IdTCPClient1->ReadLnWait();
Что не так??? В книге Архангельского по 7 Дельфе этот пример работает, типа. А в билдере 5 ну ни как.
Отредактировано Gedeon — 11/07/2005, 10:35 |
|
Suzeren |
Отправлено: 10.07.2005, 13:59 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6
|
Не так много занимался с Indy компонентами. Никогда не пользовался функцией клиента ReadLnWait(). Всегда использовал ReadLn(). Она по-моему нормально отправляет запрос на сервер, который вполне неплохо отвечает на неё WriteLn. Я смотрел примеры которые постаяляюся в комплекте с C++Builder 6.0, поскольку другой документации по INDY не имел. |
|