⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 通讯过程中需要某些重要的命令不丢失
💻 TXT
字号:
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的用途十分广泛,希望对此有兴趣的朋友能和偶一起完善它。
偶准备把它用于点对点通讯程序上:)
http://www.2ccc.com/article.asp?articleid=3154

最后支持DELPHI,支持盒子,支持开源,共同提高、共同进步!
本代码为免费代码,您可以随意的修改和传播它:)只是希望在改进它后给偶一份改进后的代码。

开发者 马敏钊  QQ 22900104 MAIL: mmzmagic@sina.com

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -