0

我认为 Overlapped I/O 的发明是为了在服务器端使用,主要是为了能够处理数千个客户端。所以我认为没有任何理由在客户端使用它。我的假设正确吗?

4

3 回答 3

1

这不是客户端/服务器问题。这是一个工作量问题。客户通常没有任何理由同时保持许多 IO 未完成。这是异步 IO 的主要用例。

端口扫描器是客户端异步 IO 的一个很好的例子。

于 2015-02-24T12:44:23.863 回答
1

您是否假设客户端一次只需要 1 个连接?一个“简单”的浏览器可以打开 10 个页面,下载 10 个文件,播放 10 个视频等。重叠 I/O 将是客户端保持“响应”的好方法。

于 2015-02-24T12:45:43.857 回答
1

编写基于 IOCP 的服务器所需的代码与编写客户端所需的代码有 95% 相同。唯一的区别是连接建立,ConnectExAcceptEx

恕我直言,没有理由不使用 IOCP 进行客户端通信。

于 2015-02-24T22:12:45.913 回答