用Delphi编写点对点传文件程序(2)

原创 2001年10月22日 10:30:00

用Delphi编写点对点传文件程序(2)



end;
end;

cs.OnRead(Sender: TObject;Socket: TCustomWinSocket);
var
sTemp:string;
bufSend:pointer;
begin
sRecv:=Socket.ReceiveText;
Case sRecv[1] of
MP_REFUSE:ShowMessage('Faint,be refused!');
MP_ACCEPT:begin
fsSend:=TFileStream.Create(OpenDialog1.FileName,fmOpen);
//iBYTEPERSEND是个常量,每次发送包的大小。
Socket.SendText(MP_FILEPROPERTY+Trunc(fsSend.Size/iBYTEPERSEND)+1);
end;
MP_NEXTWILLBEDATA:begin
Socket.SendText(MP_NEXTWILLBEDATA);
end;
MP_DATA:begin
try
GetMem(bufSend,iBYTEPERSEND+1);
if (fsSend.Position+1+iBYTEPERSEND) < fsSend.Size then
begin
fsSend.Read(bufSend^,iBYTEPERSEND);
Socket.SendBuf(bufSend^,iBYTEPERSEND);
fsSend.Free;
end//普通的发送,大小为iBYTEPERSEND
else begin
fsSend.Read(bufSend^,fsSend.Size-fsSend.Position-1);
Socket.SendBuf(bufSend^,fsSend.Size-fsSend.Position-1);
end;//最后一次发送,发送剩余的数据
finally
FreeMem(bufSend,iBYTEPERSEND+1);
end;{of try}
end;
MP_ABORT:begin
//被取消了:(
fsSend.Free;
end;
end;{of case}
end;


整理程序:
  加入错误判断,优化程序,把Server和Client联合在一起,加入剩余时间进度显示,做成能一次传多个文件,加入聊天功能,就成了一个很好的点对点传文件的程序。

delphi使用socket通讯例子-文件传输

  • 2013年07月03日 15:37
  • 922KB
  • 下载

delphi网络文件传输demo

  • 2009年03月20日 09:19
  • 955KB
  • 下载

delphi 远程文件传输的源代码

  • 2008年12月11日 22:39
  • 20KB
  • 下载

UDP文件传输delphi实例

  • 2009年03月18日 13:28
  • 862KB
  • 下载

超级轻量的远程命令行客户端和服务端(含文件传输)

最轻量的远程dos操作和命令行文件传输(客户端和服务端)
  • lonelyrains
  • lonelyrains
  • 2014年09月23日 22:35
  • 2623

怎么用C++实现点对点通信

怎么用C++实现点对点通信 1、使用c++TCP /IP 编程 ,socket 或者 RemoteFuncationsCall 远程方法调用 (RPC)。  2、服务器端: ...
  • DDFFR
  • DDFFR
  • 2016年10月22日 22:29
  • 1436

socket实现的一个基本点对点聊天程序

p2pcli.c #include #include #include #include #include #include #include #include #include ...
  • fuyuehua22
  • fuyuehua22
  • 2014年05月10日 19:31
  • 5234

使用Socket进行设备间点对点连接传输数据

前言 最近在做一套点对点传输的软件, 需要用到Socket进行设备间通讯. 去网上查了查, 对Socket分装比较好的就是目前特别火的GCDAsyncSocket这个类了, 这篇文章就GDCAsyn...
  • args_
  • args_
  • 2016年08月04日 14:50
  • 1299

JMS消息服务器(二)——点对点消息传送模型

一、点对点模型概览当你只需要将消息发布送给唯一的一个消息消费者是,就应该使用点对点模型。虽然可能或有多个消费者在队列中侦听统一消息,但是,只有一个且仅有一个消费者线程会接受到该消息。 在p2p模型...
  • caidaoqq
  • caidaoqq
  • 2015年05月17日 22:17
  • 1505

使用Socket进行设备间点对点连接传输数据

对GCDAsyncSocket和GCDAsyncUdpSocket进行封装, 实现了服务器通过UDP广播向局域网发送数据, 客户端接收后与服务器进行TCP连接, 成功连接后进行点对点通信....
  • liangshi1
  • liangshi1
  • 2016年06月04日 15:55
  • 3598
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Delphi编写点对点传文件程序(2)
举报原因:
原因补充:

(最多只允许输入30个字)