windows下并发I/O服务器模型对比(四)

来源:互联网 发布:电话号码数据库购买 编辑:程序博客网 时间:2024/05/16 18:31

I/O模型的选择
通过上一节对各种模型的测试分析,对于如何挑选最适合自己应用程序的I/O模型,大家可能还有些问题。前面已经提高,每一种模型都有它的优点和缺点。同开发一个简单的阻塞模式的应用程序相比(运行许多服务线程),其他每种I/O模型都需要更为复杂的编程工作。因此针对客户机和服务器的应用程序开发,这里提供了下述建议。

  1. 客户端
    若打算开发一个客户机应用,令其同时管理一个或多个套接字,那么建议采用重叠I/O或WSAEventSelect模型,以便在一定程度上提升性能。然而,假如开发的是一个以Windows为基础的应用程序,要进行窗口消息的管理,那么WSAAsyncSelect模型恐怕是一种更好的选择,因为WSAAsyncSelect本身便是从Windows消息模型借鉴来的。若采用这种模型,程序一开始便具备了消息处理功能。

  2. 服务器端
    若开发的是一个服务器应用,要在一个给定的时间,同时控制多个套接字,建议采用重叠I/O模型,这同样是从性能角度考虑的。但是,如果服务器在任何给定的时间,都会为大量I/O请求提供服务,便应考虑使用I/O完成端口模型,从而获得更佳的性能。

说明:
本文节录自《windows网络编程(第2版)》一书的5.3节《I/O模型的问题》。
附下载地址:
http://download.csdn.net/detail/aflyeaglenku/9414655

0 0
原创粉丝点击