我认为Overlapped I/O被发明用于服务器端,主要是为了能够处理数千个客户端。所以我不认为有什么理由在客户端使用它。我的假设是否正确?客户端使用的重叠I/O也是?
0
A
回答
1
您是否假设客户端一次只需要1个连接?一个“简单”的浏览器可以打开10个页面,下载10个文件,播放10个视频等。重叠的I/O对于客户保持“响应”是一个很好的方式。
1
这不是客户/服务器问题。这是一个工作量问题。客户通常没有任何理由同时保持许多未完成的IO。这是异步IO的主要用例。
端口扫描程序将是客户端异步IO的一个很好的例子。
1
编写基于IOCP的服务器所需的代码与编写客户端所需的代码相同。唯一的区别是连接建立,ConnectEx
vs AcceptEx
。
恕我直言,没有理由不使用IOCP进行客户端通信。
相关问题
- 1. ASMX或WCF代理客户端是否使用IO完成端口?
- 2. 的NodeJS - 插座IO - 客户端系统自动重新连接
- 3. Netty IO向客户端发送消息
- 4. 如何在PHP中使用异步IO(用于IRC客户端)?
- 5. 使用NIO服务器与IO客户端
- 6. 如何重新使用TCP客户端?
- 7. 重复使用WCF服务客户端
- 8. 当客户端也是ExpressJS应用程序时,Cookie处理
- 9. 在Java中,远程对象是否也可以是客户端?
- 10. 如何编写也是客户端的扭曲服务器?
- 11. 两个客户的PHP会话重叠
- 12. 使用HTTP客户端的Java 4.5客户端获取语句
- 13. 使用IO多路复用的Java回声服务器客户端
- 14. 客户端重新连接
- 15. thread.join()是否也阻止其他客户端?
- 16. servlet是否也可以充当SOAP WS客户端?
- 17. 使用重叠的IO获取发件人的IP地址
- 18. 使用Java客户端API
- 19. 客户端和使用dropwizard
- 20. 使用Http客户端
- 21. 使用WCF客户端
- 22. CKAN使用Java客户端
- 23. 使用XML + XSLT客户端
- 24. 使用Ruby CKAN客户端?
- 25. 多个客户端使用eventlet,需要无阻塞的IO代码
- 26. 重叠的IO或文件映射?
- 27. Winsock的非阻塞IO重叠仍块
- 28. WSASYSCALLFAILURE与Windows XP上的重叠IO
- 29. 客户端用户的WindowsIdentity
- 30. 在twitter类客户端重用UITableViewCell(每个客户端的自定义高度)
[重叠的I/O](https://msdn.microsoft.com/en-us/library/aa365683.aspx)和[I/O完成端口](https://msdn.microsoft.com/zh-cn/ -us/library/aa365198.aspx)不是一回事。您可以 - 也可以经常 - 执行与IOCP以外的同步对象重叠的I/O。 – IInspectable 2015-03-20 21:16:03
是的,但这并不能使我的答案无效。 – 2015-03-20 21:34:03
该问题具体询问异步I/O。你的回答只解决了这个问题,因为IOCP是**一种同步异步I/O的方法。它没有直接解决这个问题。 – IInspectable 2015-03-20 21:39:52