简化版asio,只实现了win iocp,主要代码仅千行

上传者: peimoxu | 上传时间: 2021-07-20 17:14:33 | 文件大小: 45KB | 文件类型: ZIP
最近一个windows的项目(手游服务器)中不允许使用boost,这让长期用boost::asio搞linux服务程序开发的我很不适应,于是抽了一周的时间研究了boost::asio的IOCP实现,并实现了一个简化版,主要代码仅千行,正好能用于当前的项目。 这个代码不推荐大家项目中使用(直接用boost就得了),但也许对新手学习asio的内部机制会有帮助。如果您发现代码有任何问题欢迎联系我。 email: peimoxu@163.com weixin: 175800810

文件下载

资源详情

[{"title":"( 64 个子文件 45KB ) 简化版asio,只实现了win iocp,主要代码仅千行","children":[{"title":"snet_test","children":[{"title":"snet_test.vcxproj.filters <span style='color:#111;'> 217B </span>","children":null,"spread":false},{"title":"snet_test.cpp <span style='color:#111;'> 4.20KB </span>","children":null,"spread":false},{"title":"snet_test.vcxproj.user <span style='color:#111;'> 374B </span>","children":null,"spread":false},{"title":"snet_test.vcxproj <span style='color:#111;'> 4.61KB </span>","children":null,"spread":false}],"spread":true},{"title":"Debug","children":[{"title":"snet_test_server.bat <span style='color:#111;'> 18B </span>","children":null,"spread":false}],"spread":true},{"title":"snet","children":[{"title":"connection.h <span style='color:#111;'> 1.50KB </span>","children":null,"spread":false},{"title":"acceptor.h <span style='color:#111;'> 668B </span>","children":null,"spread":false},{"title":"acceptor.cpp <span style='color:#111;'> 1.86KB </span>","children":null,"spread":false},{"title":"snet.vcxproj.filters <span style='color:#111;'> 583B </span>","children":null,"spread":false},{"title":"connection.cpp <span style='color:#111;'> 3.98KB </span>","children":null,"spread":false},{"title":"agent_impl.h <span style='color:#111;'> 1.27KB </span>","children":null,"spread":false},{"title":"work_thread.h <span style='color:#111;'> 257B </span>","children":null,"spread":false},{"title":"snet.vcxproj <span style='color:#111;'> 4.64KB </span>","children":null,"spread":false},{"title":"work_thread.cpp <span style='color:#111;'> 314B </span>","children":null,"spread":false},{"title":"snet.h <span style='color:#111;'> 844B </span>","children":null,"spread":false},{"title":"agent_impl.cpp <span style='color:#111;'> 2.82KB </span>","children":null,"spread":false}],"spread":false},{"title":"asio","children":[{"title":"iocp_io_operation.h <span style='color:#111;'> 5.24KB </span>","children":null,"spread":false},{"title":"binder.h <span style='color:#111;'> 651B </span>","children":null,"spread":false},{"title":"io_service.h <span style='color:#111;'> 1.98KB </span>","children":null,"spread":false},{"title":"deadline_timer.cpp <span style='color:#111;'> 316B </span>","children":null,"spread":false},{"title":"asio.vcxproj.filters <span style='color:#111;'> 819B </span>","children":null,"spread":false},{"title":"iocp_io_service.h <span style='color:#111;'> 5.20KB </span>","children":null,"spread":false},{"title":"handler_alloc.h <span style='color:#111;'> 1.33KB </span>","children":null,"spread":false},{"title":"asio.vcxproj.user <span style='color:#111;'> 164B </span>","children":null,"spread":false},{"title":"io_operation.h <span style='color:#111;'> 592B </span>","children":null,"spread":false},{"title":"socket.cpp <span style='color:#111;'> 2.41KB </span>","children":null,"spread":false},{"title":"deadline_timer.h <span style='color:#111;'> 483B </span>","children":null,"spread":false},{"title":"timer_queue.h <span style='color:#111;'> 1.19KB </span>","children":null,"spread":false},{"title":"iocp_io_service.cpp <span style='color:#111;'> 8.40KB </span>","children":null,"spread":false},{"title":"asio.vcxproj <span style='color:#111;'> 5.05KB </span>","children":null,"spread":false},{"title":"socket.h <span style='color:#111;'> 2.18KB </span>","children":null,"spread":false},{"title":"op_queue.h <span style='color:#111;'> 2.30KB </span>","children":null,"spread":false},{"title":"timer_queue.cpp <span style='color:#111;'> 3.90KB </span>","children":null,"spread":false}],"spread":false},{"title":"test_timer","children":[{"title":"test_timer.vcxproj.filters <span style='color:#111;'> 218B </span>","children":null,"spread":false},{"title":"test_timer.cpp <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"test_timer.vcxproj <span style='color:#111;'> 4.38KB </span>","children":null,"spread":false}],"spread":true},{"title":"util","children":[{"title":"util.vcxproj.filters <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"shared_ptr.h <span style='color:#111;'> 1.84KB </span>","children":null,"spread":false},{"title":"mutex.h <span style='color:#111;'> 716B </span>","children":null,"spread":false},{"title":"noncopyable.h <span style='color:#111;'> 214B </span>","children":null,"spread":false},{"title":"util.vcxproj <span style='color:#111;'> 4.79KB </span>","children":null,"spread":false},{"title":"mutex.cpp <span style='color:#111;'> 665B </span>","children":null,"spread":false},{"title":"thread_start.h <span style='color:#111;'> 1.47KB </span>","children":null,"spread":false},{"title":"default_allocator.cpp <span style='color:#111;'> 680B </span>","children":null,"spread":false},{"title":"thread.cpp <span style='color:#111;'> 2.25KB </span>","children":null,"spread":false},{"title":"message_queue.cpp <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"memory_pool.h <span style='color:#111;'> 686B </span>","children":null,"spread":false},{"title":"hash_map.h <span style='color:#111;'> 2.63KB </span>","children":null,"spread":false},{"title":"message_queue.h <span style='color:#111;'> 641B </span>","children":null,"spread":false},{"title":"default_allocator.h <span style='color:#111;'> 2.18KB </span>","children":null,"spread":false},{"title":"config.h <span style='color:#111;'> 198B </span>","children":null,"spread":false},{"title":"memory_pool.cpp <span style='color:#111;'> 4.26KB </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false},{"title":"timer.cpp <span style='color:#111;'> 761B </span>","children":null,"spread":false},{"title":"atomic_count.h <span style='color:#111;'> 876B </span>","children":null,"spread":false},{"title":"timer.h <span style='color:#111;'> 300B </span>","children":null,"spread":false},{"title":"condition.h <span style='color:#111;'> 1.36KB </span>","children":null,"spread":false},{"title":"thread.h <span style='color:#111;'> 641B </span>","children":null,"spread":false},{"title":"condition.cpp <span style='color:#111;'> 6.07KB </span>","children":null,"spread":false}],"spread":false},{"title":"readme.txt <span style='color:#111;'> 770B </span>","children":null,"spread":false},{"title":"asio.sln <span style='color:#111;'> 3.11KB </span>","children":null,"spread":false},{"title":"test_echo","children":[{"title":"test_echo.vcxproj.filters <span style='color:#111;'> 217B </span>","children":null,"spread":false},{"title":"test_echo.cpp <span style='color:#111;'> 2.73KB </span>","children":null,"spread":false},{"title":"test_echo.vcxproj <span style='color:#111;'> 4.38KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • aqtata :
    重重的boost味道。
    2020-05-26
  • qq130050260 :
    不错,可以拿来学习一下
    2018-11-04
  • qq_17378903 :
    值得参考。
    2018-10-22
  • qq_21918659 :
    非常不错,值得学习
    2015-09-17

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明