套接字I / O模式epoll,重叠I / O.

时间:2011-03-25 11:11:08

标签: boost boost-asio

我正在使用客户端服务器应用程序,我需要管理多个套接字连接1000 +。

通过探索,我发现Overlapped I / O或Completion Port很适合在Windows中解复用多个套接字,epoll在Linux上很不错。

  1. epoll与Windows中的重叠I / O或完成端口不同。
  2. 我想使用boost,因为它适用于Windows和Linux。
  3. 是否可以使用boost实现这些技术(epoll和Overlapped I / O或Completion Port)?

1 个答案:

答案 0 :(得分:3)

Windows上的epoll和Windows上的I / O完成端口的实现是不同的,但是Boost.Asio很好地抽象了应用程序的差异。这是io_service reactor queue

的重点

Windows NT,2000,XP,2003和Vista

解复用机制:

  • 使用重叠的I / O和I / O. 所有异步的完成端口 套接字操作除外 异步连接。
  • 使用select来模拟异步连接。

Linux内核2.6

解复用机制:

  • 使用epoll进行多路分解。