博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
YxdIOCP (DIOCP修改版)
阅读量:7080 次
发布时间:2019-06-28

本文共 2905 字,大约阅读时间需要 9 分钟。

YxdIocp 是使用Delphi对Windows IOCP通讯模型的封装,基于DIOCP改进修改。YxdIocp包含有支持大并发的TCP服务组件、HTTP服务组件、UDP服务组件,和TCP、UDP等基础客户端组件。

 

【SVN】

【特别说明】
  本源码由YangYxd(音儿小白)以网友天地弦的DIOCP为基础修改优化而来。YxdIocp与DIOCP使用方式略有不同,不完全兼容!!
  我会接收大家提交的BUG并尽快修复,但不负责解答任何使用方面的问题。实际上代码已经有比较多的注释,开源并不等于作者需要
  免费给大家做客服解答各种问题。开源的目的一是让代码尽快成熟稳定,二是丰富行业资源和活力。“拿来主意”虽说比较快捷
  省事,但并不值得提倡,有问题张口就问不是个好习惯。
【当前版本】  

2015.08.11.001

【主要更改】  

 - -----------------------------------

 - 2015.08.11  
 - -----------------------------------  
 + HTTP服务模块支持Session, Cookies, 感谢: 天地弦  
 * 修复上个版本UdpSocket接收数据变慢的问题  
 * 优化字符串处理单元,更加高效. 感谢: 歼10  
 * 其它略微调整和优化
 - -----------------------------------
 - 2015.07.31
 - -----------------------------------
 * 优化TIocpUdpServer服务,解决退出时内存泄漏问题
 * TIocpTcpSocket优化和加强,增加两个用来判断内核接收缓冲区状态的属性:RecvBufferIsEmpty、RecvBufferSize,
   增加几个Read函数,增加Seek函数,修改Connected属性的算法(速度变慢了,但保证正确性)
 + TIocpClientContext增加BindIP和BindPort属性,可查看当前连接的本机IP地址(服务器多IP时可判断客户端是与那个IP建立的连接)
 + 增加TIocpTcpSocketPool连接池,自动管理TIocpTcpSocket。
 + 增加TIocpTcpClientProxy TCP 客户端代理服务,帮助实现服务器间通讯、数据转发。
 * 修复TIocpHttpRequest.DecodeParam函数存在的两处BUG
 * 其它细小优化,增强稳定性。
 * 感谢:Huixch(Http服务BUG),  仓井很空(2543818374, 修改IocpTcpSocket和Proxy的建议和测试)
 - -----------------------------------
 - 2015.07.19
 - -----------------------------------
 + HTTP模块增加Pipe支持
 * 优化自动踢除死连接功能, 增加KickOutInterval属性
 * 优化TIocpTCPSocket,增加ConnectTimeOut属性
 * 其它细小优化调整
 - -----------------------------------
 - 2015.06.12
 - -----------------------------------
 + 增加UDP服务
 + 增加Demo UDPEcho
 * 优化HTTP服务
 * 优化UDPSocket
 - -----------------------------------
 - 2015.05.27
 - -----------------------------------
 + 加载HTTP服务,增加表单提交支持,可上传小文件。
  HTTP模块主要功能:
  1. 支持标准Http访问服务
  2. 支持局部传输
  3. 支持文件下载,断点续传
  4. 支持表单提交
  5. 支持GZip压缩传输
 - -----------------------------------
 - 2015.05.26
 - -----------------------------------
 * 修复TIocpCustomContext中使用内存池Push时未加锁引发的严重BUG。
 * 优化HTTP服务。
 + 同步DIOCP在TIocpConnection中将请求加入队列,以免连续多个请求时产生多线程处理一个连接,引发问题。
 - -----------------------------------
 - 2015.05.21
 - -----------------------------------
 * 修复TIocpTcpCodecServer解码流程中的BUG。
 * 优化HTTP服务
 + 增加超时自动踢除功能
 - -----------------------------------
 - 2015.05.20
 - -----------------------------------
 * 修复多处BUG。如句柄数问题。
 * 修复HTTP服务多处BUG
 + HTTP服务增加文件下载功能,支持超大文件传输。
 - 将YxdHash、YxdStr精简出IOCP专用版本
 + 添加YxdIocp.dbk,可直接安装成控件
 - -----------------------------------
 - 2015.05.15
 - -----------------------------------
 * 简化使用接口。使用时只需要引用 iocp.pas 单元即可。
 * 去除重复代码。
 * 使用了一些自己编写的新类替换掉原来的类似模块,如 TIocpStream, TIocpHttpServer 等
 * 用法更简单了
 * D2007下调试通过,其它版本IDE暂未测试。
 
【感谢】
 感谢DIOCP原作者天地弦,以及DIOCP官方群、QDAC官方群所有参与本项目测试、修改的朋友。
 
【注意事项】
 您在使用中发现任何BUG、更改意见等请及时联系我们,不胜感激。
 使用本源码时您需要自行承担一切后果,作者和项目组不为此承担任何法律责任。
 您可以任意复制、更新本源码,但请注明来源,或在您的软件特定位置标注说明。
 
【联系我们】
  yangyxd QQ: 2514718952
  原作者天地弦QQ: 185511468
  DIOCP 官方群: 320641073
  QDAC 官方群: 250530692
 
【网站】
  yangyxd blog: http://www.cnblogs.com/yangyxd
  DIOCP 官方网站: http://www.diocp.org
  QDAC 官方网站: http://www.qdac.cc
 
【下载】
百度网盘: http://pan.baidu.com/s/1kTKgHoj
提取密码: ma5w
 

转载于:https://www.cnblogs.com/yangyxd/articles/4693203.html

你可能感兴趣的文章
MIME
查看>>
NetworkInterface的使用
查看>>
海外澳洲技术移民花费一览表(2006年11月完整版) - Topboy - 博客园
查看>>
vs2010 命令行下用 msbuild 发布web站点
查看>>
在IIS上启用Gzip压缩(HTTP压缩)
查看>>
16进制字符串和字节数组的转换
查看>>
解决ImportError: cannot import name webdriver
查看>>
如何将Windows Server 2012的Evaluation版本转为正式版?
查看>>
[iOS] UITextField隐藏软键盘心得(隐藏自身软键盘、点击Return自动转到下个文本框、轻触背景隐藏软键盘)...
查看>>
hdu 1853(Cyclic Tour)
查看>>
ALL about SYSDBA and SYSOPER Privileges in Oracle [ID 50507.1]
查看>>
form表单回车提交问题
查看>>
让jQuery Tools Scrollable控件在Mobile Web里面支持resize功能
查看>>
配置 CACTI 监控 MySQL 数据库状态
查看>>
WCF的用户名密码认证
查看>>
KMP 求子串
查看>>
【实战HTML5与CSS3 第三篇】我第一个HTML5网页诞生了(提供源码)
查看>>
NS2下实现MAC跨层设计(转)
查看>>
C#访问远程共享加锁文件夹
查看>>
静态编译mysql库到程序中遇到的问题
查看>>