我最近在Windows平台上碰到了一个名为IOCP的东西,更确切地说:输入/输出控制端口。当需要同时容纳数千个用户时,这似乎是 对服务器软件进行编码的最有效方式。 (如果我错了,请纠正我,但每个套接字,轮询和异步回调(每个回调上的线程)都不够高效。)

我想知道是否有任何第三方库可以实现这个概念。我知道win32 api为我们提供了CreateIoCompletionPort,FreeBSD有kqueue和linux一般可以使用/ dev / epoll,它的工作方式有点类似......但是不存在处理这个东西的跨平台库(如boost :: thread)对我来说?

有帮助吗?

解决方案

你看过boost :: asio吗? 我不确定它是否具有所有这些功能,但我相信这是它的目的之一。

其他提示

我知道这是对此主题的迟到回复,但对于那些对Linux / UNIX和Windows上支持异步IO的x平台库感兴趣的人,您可能需要查看 libuv

libuv 最初被构建为node.js的基础基础,但它已经发展成为一个功能强大的抽象库,适用于许多低级别的x平台问题,包括异步IO,非阻塞TCP套接字和命名管道,UDP,计时器,子进程产生 ,高分辨率时间,线程池调度等。

libevent 可在许多* nix操作系统上运行,也可在Windows上运行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top