用socket编写文件传输程序,协议tcp。
不知用TServerSocket和TClientSocket,还是TIdTCPServer和TIdTCPClient或是其他组件?
如果用TServerSocket和TClientSocket组件,其协议怎么设置成tcp?
不知用TServerSocket和TClientSocket,还是TIdTCPServer和TIdTCPClient或是其他组件?
如果用TServerSocket和TClientSocket组件,其协议怎么设置成tcp?
解决方案 »
- delphi中,TXmlDocument怎样直接设置某个节点的XML值?
- 一个关于adoquery的问题!
- 在FastReport中怎样取得打印次数?在线结分,先谢谢了!
- csdn的论坛终于又重开了.
- 最新版AC ReportV1.8下载地址。
- 如何在richedit中一行字显示不同的颜色
- 关于数据库连接时间问题!
- 如何将TreeView控件与数据库连接?
- Access数据库的日期查询在2000下一切正常,在98下查询出错?
- 我的整个应用是用ADOConnection与另外台计算机上的SQLserver联接的,我现在要操作SQLserver的image字段,应该怎么办?
- 有高手看过ehlib带的那个demo1吗?想请教一下,他是怎么实现的,本人水平低,没能看明白
- 通过外部程序直接获得获得当前网页URL地址
发送端
procedure TForm1.Button2Click(Sender: TObject);
var
buf:tfilestream;
begin
buf := TFileStream.Create(edit5.Text, fmOpenRead);//edit5.text文件名(含路径)
IdTCPClient1.Host:=edit1.Text;//ip string;
IdTCPClient1.Port:=1053;
IdTCPClient1.Connect();
IdTCPClient1.WriteLn(ExtractFileName(edit5.Text));
IdTcpClient1.WriteStream(buf,true,true); //发送文件
IdTcpClient1.Disconnect;
buf.Free;
end;
接收端
procedure Tfm_main.IdTCPServer1Execute(AThread: TIdPeerThread);
var
buf: TFileStream;
FileName:string;
size:longint;
begin
FileName:=athread.Connection.ReadLn;
buf := TFileStream.Create(FileName, fmCreate);
AThread.Connection.ReadStream(buf, -1, true);
buf.Free;
end;
有问题可以给我发消息
我现在刚好遇到这个问题,希望通过底层传送文件,请指教。