Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > id Telnet Читает не все данные


Автор: Dimitriy 30.3.2010, 15:12
кто-нибудь сталкивался с такой проблемой, компонент idTelnet читает не все данные которые отправляются от сервера, причём каждый раз ответ содержит обрывки посылки, вот пример:

соединение с сервером
Код

IdTelnet1->Host = Edit1->Text;
IdTelnet1->Port = StrToInt(Edit2->Text);
IdTelnet1->Connect();


чтение данных
Код

void __fastcall TForm1::IdTelnet1DataAvailable(TIdTelnet *Sender, const UnicodeString Buffer)
{
TelnetBuffer += Buffer;
Memo1->Lines->Add(Buffer);
}
//---------------------------------------------------------------------------


, но в программе telnet.exe отображаются все данные, в чём проблема может быть?

Автор: xvr 31.3.2010, 15:02
Цитата(Dimitriy @  30.3.2010,  15:12 Найти цитируемый пост)
в чём проблема может быть?

В этом -
Код

Memo1->Lines->Add(Buffer);
Telnet посылает данные в виде потока байтов, совсем не обязательно они будут нарезанны на строки. Символы перевода строк тоже будут в этом потоке присуствовать. А метод Add добавляет именно строки (уже нарезанные)
Попробуй так
Код

TelnetBuffer += Buffer;
Memo1->Text=TelnetBuffer;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)