UDP_Connections

所属分类:网络编程
开发工具:Delphi
文件大小:782KB
下载次数:552
上传日期:2008-02-11 20:42:26
上 传 者jeffery
说明:  UDP安全传输(完整源码) 1、自动分包组包 2、支持一次性发送任意大小的包 3、支持安全控制 4、根据丢包率和网速度动态控制发包速度(因时间的局限此功能未很好的实现) 5、对于用户透明的接口(开发人员不用关心实现细节可以和使用其它UDP控件一样简单的使用本类) 接口的简单说明,使用本类很简单 当想要发送大数据包或者具有安全控制的数据包就使用方法 SafeSendBuff 即可:) 当然接收方必须使用本类(即服务端。因为偶需要自动处理分包、组包、重发等细节) 给事件成员OnDataCase付值即可该事件是接收到数据时触发 具体使用方法请见演示程序 DemoClient.exe 为接收窗体 DemoServer.exe 为发送窗体 发送202575字节的东西需要3秒时间

文件列表:
200662910411619\Server\DemoServer.cfg (453, 2006-06-20)
200662910411619\Server\Unit1.dfm (302311, 2006-06-20)
200662910411619\Server\DemoServer.dpr (450, 2006-06-20)
200662910411619\Server\Unit1.pas (2859, 2006-06-20)
200662910411619\Server\DemoServer.res (876, 2006-06-20)
200662910411619\Client\DemoClient.cfg (453, 2006-06-20)
200662910411619\Client\Unit1.dfm (903, 2006-06-20)
200662910411619\Client\DemoClient.dpr (448, 2006-06-20)
200662910411619\Client\DemoClient.exe (474624, 2006-06-20)
200662910411619\Client\Unit1.pas (1873, 2006-06-12)
200662910411619\Client\DemoClient.res (876, 2006-06-20)
200662910411619\DemoClient.exe (614400, 2006-06-20)
200662910411619\DemoServer.exe (871936, 2006-06-20)
200662910411619\Public\Consts.pas (12997, 2005-12-09)
200662910411619\Public\NMUDP.pas (27041, 2006-06-11)
200662910411619\Public\PMyBaseDebug.pas (15038, 2006-03-21)
200662910411619\Public\untfunctions.pas (52483, 2006-06-20)
200662910411619\Public\UntProctol.pas (5085, 2006-06-10)
200662910411619\Public\UntUdpCtl.pas (24157, 2006-06-20)
200662910411619\Server (0, 2006-11-03)
200662910411619\Client (0, 2006-11-03)
200662910411619\Public (0, 2006-11-03)
200662910411619 (0, 2006-11-03)

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控件一样简单的使用本类) 接口的简单说明,使用本类很简单 当想要发送大数据包或者具有安全控制的数据包就使用方法 SafeSendBuff 即可:) 当然接收方必须使用本类(即服务端。因为偶需要自动处理分包、组包、重发等细节) 给事件成员OnDataCase付值即可该事件是接收到数据时触发 具体使用方法请见演示程序 DemoClient.exe 为接收窗体 DemoServer.exe 为发送窗体 发送202575字节的东东需要3秒时间:( 听同事说C++有不少此方面的代码,不过我找了DELPHI方面的没找到。 现在安全控制时的发送速度比较慢因为智能根据网络流量调整的功能还没时间去弄。 安全UDP的用途十分广泛,希望对此有兴趣的朋友能和偶一起完善它。 偶准备把它用于点对点通讯程序上:)

近期下载者

相关文件


收藏者