问题描述
我的工作的客户端服务器应用程序,我需要管理多个套接字连接1000 +
I am working client server application where I need to manage multiple socket connection 1000+.
通过探索我发现了重叠I / O或完成端口是好的,做解复用多个插座在Windows和epoll的是好的Linux上。
By exploration I found out the Overlapped I/O or Completion Port is nice to do de-multiplexing multiple socket in Windows and epoll is nice on Linux.
- 是epoll的是从窗口重叠I / O或完成端口不同。
- 我想使用升压,因为它可以在Windows和Linux操作系统。
是否有可能实现这些技术(epoll的和重叠I / O或完成端口),使用升压?
Is it possible to implement these techniques (epoll and Overlapped I/O or Completion Port) using boost?
推荐答案
的epoll
的实施对Linux和I /在Windows O完成端口是不同的,但是提升。 ASIO很好地抽象了您的应用程序的差异。这是 io_service对象
的:
The implementation of epoll
on Linux and I/O completion ports on Windows are different, however Boost.Asio nicely abstracts away the differences for your application. This is the whole point of the io_service
reactor queue:
的Windows NT,2000,XP,2003和Vista STRONG>
解复用机制:
- 使用重叠I / O和I / O
所有异步完成端口
除了套接字操作
异步连接。 - 用途选择,用于仿真异步连接。
Linux内核2.6
解复用机制:
- 使用解复用epoll的。
这篇关于套接字I / O模式epoll的,重叠I / O的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!