用IdTCPServer1,IdTCPClient1 作为发送接收数据的两端,IdTCPClient1发送,IdTCPServer1做接收...........................

sailorcgh 2003-11-03 02:05:12
用IdTCPServer1,IdTCPClient1 作为发送接收数据的两端,IdTCPClient1发送,IdTCPServer1做接收
如何显示发送和接收的进度呢?IdTCPServer1的connect事件做接收数据

Server端
TFileStream *fStream;
FileInfo finfo;

FileInfo fInfo;
AThread->Connection->ReadBuffer(&fInfo,sizeof(fInfo));
fStream=new TFileStream("d:\\test.txt",fmCreate );
AThread->Connection->ReadStream(fStream,514413,false);
Memo1->Lines->Add("保存完毕!");
delete fStream;
==========================
Client端

String Message;
FileInfo fInfo;
try{
tcpClient->Disconnect();
tcpClient->Connect();
Memo1->Lines->Add(tcpClient->ReadLn("",5000));
}
catch(Exception &e)
{
Message="连接到服务器"+tcpClient->Host+"失败!"+e.Message;
MessageBox(Handle,Message.c_str(),"错误",MB_ICONWARNING|MB_OK|MB_SETFOREGROUND);;
Memo1->Lines->Add(Message);
return;
}
try
{


strcpy(fInfo.Pwd,"123");
fInfo.Length =514413;// this->giBranchNo;
strcpy(fInfo.DesName,"");
strcpy(fInfo.Name,"");
tcpClient->WriteBuffer(&fInfo,sizeof(FileInfo),true);



Memo1->Lines->Add(":开始发送!数据文件大小:514413字节!");
tcpClient->WriteFile("d:\\a.txt");
iDownFileLen = FileSizeByName(this->asCurDir +"\\"+ExtractFileName(fInfo.DesName));
Memo1->Lines->Add(":开始发送!文件大小:514413字节!");
}
catch(Exception &e)
{
// lgr->Log(1,":"+e.Message);
Memo1->Lines->Add(":"+e.Message);
MessageBox(Handle,e.Message.c_str(),"错误",MB_ICONWARNING|MB_OK|MB_SETFOREGROUND);
}
...全文
118 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧