tidtcpserver接受数据问题不完整!
我用C++ Builder 2007做一个服务端、客户端通信的程序,如果Client端数据没有回车键时,server端接受的数据没有什么问题,但是文件内容有好几行就有问题,而且要支持多个Client端发送,我使用的是TIDTCPServer和TIDTCPClient控件,TCPServer的相关代码如下:
void __fastcall TServer::LogServerExecute(TIdContext *AContext)
{int i,Len;
char Filename[17]="";
AnsiString S;
TIdIOHandler *IOH = AContext->Connection->IOHandler;
try{
S=IOH->ReadLn();
}
catch (Exception &exception)
{
Memo->Lines->Add("Error");
}
Len=S.Length();
if(Len>0)
{for(i=0;i<16;i++)
Filename[i]=S.c_str()[i]; //接受数据的前16个字符为文件名,后面为文件内容
Filename[i]='\0';
Memo->Lines->Add(Filename);
SaveFile(S,Filename); //将接受到的文件内容保存到SERVER的一个文件
AContext->Connection->IOHandler->WriteLn(Filename);
}
}
请问这应该怎么解决?谢谢!