各位帮忙看看这段代码!谢谢
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
ReadFile: TMemoryStream;
readStream: TStream;
RecevFileName: string;
begin
TCPClient1.RemoteHost:= Edit1.Text;//服务器的地址为Edit1的内容(端口我们已经指定为8090,这个是在属性面板里面设置的 )
with TCPClient1 do
begin
Connect;//连接到服务器
while Connected do
begin
ReadFile := TMemoryStream.Create;//创建一个TMemoryStram对象
try
RecevFileName:=ReadLn;//从服务器端获得文件名
listbox1.Items.Add('Receving file ' + RecevFileName);//显示到ListView中
ReadStream(ReadFile,-1,True);
//以流模式从服务器端获得文件内容,参数分别是ReadFile表示流对象,-1表示一直读取直到对方断开,True表示在NT操作系统下提高性能,对9x无效
listbox1.items.Add('Total ' + IntToStr(ReadFile.Size) + ' Bytes recevied');//显示总共接收到多少数据
ReadFile.Seek(0, soFromBeginning);//定位流指针到开始
ReadFile.SaveToFile(ExtractFileName(RecevFileName));//把流中的内容保存到文件中去
finally
Disconnect;//断开连接
ReadFile.Free;//释放流对象
end;
end;
end;
end;