libevent IOCP完整教程-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

libevent IOCP完整教程

简介: Libevent IOCP 完整教程 直至今日,我都一直是个专注客户端游戏开发的程序,但是客户端毕竟是一个人的世界,是孤独的,只有网络能给客户端灵魂,加上我的社交平台梦,我毅然钻入了网络领域。
Libevent IOCP 完整教程

直至今日,我都一直是个专注客户端游戏开发的程序,但是客户端毕竟是一个人的世界,是孤独的,只有网络能给客户端灵魂,加上我的社交平台梦,我毅然钻入了网络领域。然而对于一个只在大学时期做过聊天程序的我,对网络的了解实在是太少,再加上高深的IOCP,即便我看过《Windows核心编程》,但一个人也无力驾驭这 libevent IOCP,但对亏了完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三这篇文章,提升了我对IOCP的理解,让我有信心去解决libevent IOCP使用中遇到的困难。下面我将尽量讲解如何使用 libevent 2.1.4-alpha IOCP(2.0.21 版也试过,不过2.1.4修改了部分之前版本的IOCP bug,所以使用IOCP的话,个人感觉2.1.4比较适合),并将 Programming with Libevent 没有讲解到的有关 IOCP 的部分加以补充,指导你正确使用 libevent IOCP。

问题备忘:开启IOCP之后,客户端发起1000个连接,并向服务器发送的登录数据,服务器不一定能第一时间收到1000个登录数据,一般会丢失100个左右,会让人以为libevent IOCP会丢失数据,但当这些没有发出去登录数据的客户端再继续发送其他数据的时候,服务器会一并收到之前没有收到的登录数据,以及这次发送的数据。这种延迟现象我用了一天时间才发现,起初以为是数据丢失,后来发现数据没有丢失,只是没有发出去。但如何让数据第一次就能发出去,目前还不清楚。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: