文件名称:UDP可靠传输代码(delphi)
文件大小:323KB
文件格式:RAR
更新时间:2012-05-12 06:46:13
UDP可靠传输代码(delphi)
UDP安全传输(完整源码) 大家都知道UDP比TCP好用发送速度快很多,程序写起来也简单的多,可缺点也同样明显UDP容易丢包,而且不能自动重发也不能自动组包没有数据安全机制,发的包不能超过2K(INDY,NMUDP等控件都是这样)否则就出错。 可很多需求中又需要发送大量数据包并且需要保证速度(如语音和视频通讯或者点对点点播服务。)而且有些重要的数据不允许丢包这个时候就需要安全UDP了。 有朋友可能会说那你干嘛不用TCP?TCP不就是安全的UDP吗? 主要因为 1、TCP无法很好的穿透NAT,来进行点对点通讯。 2、通讯过程中需要某些重要的命令不丢失,TCP需要首先建立连接,每个包都需要确认。这样发送速度会慢不少。 所以偶需要一个安全的UDP可以发送任意大小包,可以保证某些重要的包不会丢失,并且可以轻松穿透NAT来进行点对点通讯。 网上四处寻找未果SO自己动手写了一个。具有以下功能(本类是站在前人的肩膀上实现,基类为偶稍加修改过的NMUDP) 1、自动分包组包 2、支持一次性发送任意大小的包 3、支持安全控制 4、根据丢包率和网速度动态控制发包速度(因时间的局限此功能未很好的实现) 5、对于用户透明的接口(开发人员不用关心实现细节可以和使用其它UDP控件一样简单的使用本类)
【文件预览】:
200662910411619
----Client()
--------DemoClient.cfg(453B)
--------Unit1.dfm(903B)
--------DemoClient.res(876B)
--------Unit1.pas(2KB)
--------DemoClient.exe(464KB)
--------DemoClient.dpr(448B)
----下载说明.htm(5KB)
----新云软件.url(261B)
----Server()
--------DemoServer.res(876B)
--------Unit1.dfm(295KB)
--------DemoServer.dpr(450B)
--------Unit1.pas(3KB)
--------DemoServer.cfg(453B)
----DemoServer.exe(716KB)
----DemoClient.exe(464KB)
----Public()
--------PMyBaseDebug.pas(15KB)
--------untfunctions.pas(51KB)
--------Consts.pas(13KB)
--------NMUDP.pas(26KB)
--------UntUdpCtl.pas(24KB)
--------UntProctol.pas(5KB)
----ReadMe.txt(2KB)