VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 346|回复: 0

[交流] windows iocp 模型客户端 实现(http(含ssl))

[复制链接]
50_avatar_middle
最佳答案
0 
在线会员 发表于 2019-10-18 16:26:32 | 显示全部楼层 |阅读模式
大佬们高抬贵手,多多给分.

程序为 windows 下 的 iocp模型,介绍了常见的消息投递、消息处理,扫描线程与业务线程设计等。结合http页面访问(含https,使用openssl实现)。

iocp模型是windows环境下异步网络(请求等待模型)的系统支持,等同于linux的epoll,但差异很大。windows系统下另一个强大的异步网络模型WSAAsySelect模型,他们在异步并行的基础网络设计上有较高的实用价值(相较其它几套模型)。

iocp模型在客户端和服务端(常见)均有使用,客户端可用于去中心化的BT网络、爬虫搜索、P2P协议设计实现。本文代码是iocp 客户端的简单实现,用于向特定主机下载http报文(类似爬虫请求)。
目前市场上有很多成熟的基于iocp/epoll/dqueue等的网络库,很多都是开源的。

执行部分日志如下:
  1. 0x000C2458:iocp scan thread start...
  2. 0x000C245C:iocp scan thread start...
  3. 0x000C2460:iocp scan thread start...
  4. 0x000C2464:iocp scan thread start...
  5. 0x000C243C:connect done.(163.177.151.110)(0/SOCK_CONNECTED)
  6. 0x000C243C:connect done.(112.90.135.229)(0/SOCK_CONNECTED)
  7. 0x000C243C:connect done.(157.122.98.16)(0/SOCK_CONNECTED)
  8. 0x000C243C:connect done.(110.43.34.72)(0/SOCK_CONNECTED)
  9. 0x000C243C:connect done.(163.177.63.104)(0/SOCK_CONNECTED)
  10. 0x000C243C:connect done.(121.40.43.188)(0/SOCK_CONNECTED)
  11. 0x000C243C:connect done.(153.37.235.50)(0/SOCK_CONNECTED)
  12. 0x000C2464:SOCK_CONNECTED/WSA_CONNECT(0)
  13. 0x000C2460:SOCK_CONNECTED/WSA_CONNECT(0)
  14. 0x000C2458:SOCK_CONNECTED/WSA_CONNECT(0)
  15. 0x000C245C:SOCK_CONNECTED/WSA_CONNECT(0)
  16. 0x000C243C:connect done.(163.177.151.110)(0/SOCK_CONNECTED)
  17. 0x000C243C:connect done.(154.8.131.171)(0/SOCK_CONNECTED)
  18. connect post done.
  19. www.baidu.com/163.177.151.110 status SOCK_CONNECTED
  20. www.12306.cn/112.90.135.229 status SOCK_CONNECTED
  21. www.163.com/157.122.98.16 status SOCK_CONNECTED
  22. www.bilibili.com/110.43.34.72 status SOCK_CONNECTED
  23. www.acfun.cn/163.177.63.104 status SOCK_CONNECTED
  24. www.cnblogs.com/121.40.43.188 status SOCK_CONNECTED
  25. www.hao123.com/153.37.235.50 status SOCK_CONNECTED
  26. www.baidu.com/163.177.151.110 status SOCK_CONNECTED
  27. www.douban.com/154.8.131.171 status SOCK_CONNECTED
  28. posting request...
  29. www.baidu.com/163.177.151.110 status SOCK_CONNECTED
  30. www.12306.cn/112.90.135.229 status SOCK_CONNECTED
  31. www.163.com/157.122.98.16 status SOCK_CONNECTED
  32. www.bilibili.com/110.43.34.72 status SOCK_CONNECTED
  33. www.acfun.cn/163.177.63.104 status SOCK_CONNECTED
  34. www.cnblogs.com/121.40.43.188 status SOCK_CONNECTED
复制代码

....
  1. 0x000C2464:SOCK_INITIAL/WSA_QUIT(0)
  2. 0x000C2464:WSA_QUIT/iocp scan thread requested release...
  3. 0x000c2464:RECV/SEND IO 167579/93
  4. 0x000C2458:SOCK_INITIAL/WSA_QUIT(0)
  5. 0x000C2458:WSA_QUIT/iocp scan thread requested release...
  6. 0x000c2458:RECV/SEND IO 215213/2465
  7. 0x000C2460:SOCK_INITIAL/WSA_QUIT(0)
  8. 0x000C2460:WSA_QUIT/iocp scan thread requested release...
  9. 0x000c2460:RECV/SEND IO 84799/1738
  10. 0x000C245C:SOCK_INITIAL/WSA_QUIT(0)
  11. 0x000C245C:WSA_QUIT/iocp scan thread requested release...
  12. 0x000c245c:RECV/SEND IO 21243/1319
  13. thread list supposed done.
复制代码


windows iocp 模型客户端 实现(http(含ssl)) iocp_yclt.rar (7.9 KB, 下载次数: 6)

评分

参与人数 3威望 +2 驿站币 +5 热心值 +5 收起 理由
58_avatar_small thzzl + 2 + 2 谢谢楼主,研究研究。
81_avatar_small Debug + 2 + 2 + 2 锦囊啊,什么都有
16_avatar_small firefox + 1 + 1 很给力!

查看全部评分





上一篇:类似dashboard,附源码,求论坛分升级(暂无消息发送权限)
下一篇:自己写的小的加密程序,新手学习,大牛不用看了
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-11-26 09:57

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表