• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi-IOCPAPI代码的封装和流程分析

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

经过一段时间的研究和学习,对IOCP的原理和流程都有了一定的了解,测试的Demo结果显示在局域网内轻轻松松处理5000个左右的连接,还是比较稳定的。运行Echo测试几个小时后。服务端内存稳定在60M左右。

这两天对原始代码进行了封装,封装成了一套IOCP类。

原始的API调用,对于研究和学习IOCP的原理还是比较好的。封装后,如果没有较好的文档,可能比较难理解。

 

 

1.发送数据流程图

 

 

 

 

2.服务回写数据流程

 

 

2.IOCP对象中心

 

2.1 TIOCPObject
IOCP对象中心,创建IOCP句柄,开启侦听端口。
提供处理数据,接收套接字,投递接收请求,投递发送请求。

 

2.2 TIOCPClientContext
套接字扩展类
负责接收数据,
可以继承他的dataRecvied进行数据处理
可以调用他进行回写数据到客户端


2.3 TIOCPClientContextFactory
负责创建和释放套接字扩展对象<在接收客户端连接时进行使用>
负责注册编码器和解码器
负责注册套接字扩展对象类<继承TIOCPClientContext的类>

 

2.4 TIOCPDecoder
接收到客户端的数据后调用的解码器,将接收到的数据流,解码成对象。
可以在这里处理粘包工作。
需要向TIOCPClientContextFactory进行注册解码器

 

2.5 TIOCPEncoder
调用TIOCPClientcontext进行回写对象到客户端时,将回写的对象进行编码成数据流。然后交由TIOCPObject进行数据发送的投递。
需要向TIOCPClientContextFactory进行注册编码器


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
【二】遗传算法(GA)的MATLAB实现发布时间:2022-07-18
下一篇:
智能算法之Matlab实现(1)——遗传算法(1)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap