iocp (windows), kqueue(freebsd), 或是 epoll(linux)
Posted on 2015-01-28 09:22 bw_0927 阅读(425) 评论(0) 收藏 举报http://blog.codingnow.com/2006/04/iocp_kqueue_epoll.html
- IOCP/epoll/kqueue的出现有他们的理由,设计一个可扩展的服务器模型,这些基本上是最好的网络模型。
- 网络速度的限制往往是通过应答加滑动窗口来限制,固定的限制是没有实际价值。
- 关于服务器开发,必须要做到网络与逻辑分开。
- 我一般写服务器都是跨平台的,window下面用iocp,linux下用epoll,或者poll+多线程。
线程池部分直接整合到网络引擎中。
逻辑部分采用插件模式,即插即用,关于逻辑中的共享数据我将单独保存。 - select无疑是比iocp或epoll更耗资源.在大量连接的情况下效率很低.如果只是担心跨平台问题,可以找封装好的异步网络库,比如ACE中的proactor或者ASIO.在有些情况下服务器的逻辑用异步架构来描述更加直接明了