IdTCPServer接收数据的问题
- C/C++ code
void __fastcall TForm1::IdTCPServer1Execute(TIdContext *AContext){ String str=AContext->Connection->IOHandler->ReadLn(); Memo1->Text = str;}其中用的ReadLn()必须是读到换行符才结束读取吧,但是我想每次读出所有收到的数据(长度不一定,末尾没有换行符)然后显示在Memo里,用什么函数实现?
谢谢!
[解决办法]
试试这样:
- C/C++ code
void __fastcall TForm1::IdTCPServer1Execute(TIdContext *AContext){ String str; while (!AContext->Connection->IOHandler->InputBufferIsEmpty()) { str += AContext->Connection->IOHandler->ReadString(1, TEncoding::UTF8); } if (!str.IsEmpty()) Memo1->Lines->Add(str);}