通常要开发网络应用程序并不是一件轻松的事情,不过,实际上只要掌握几个关键的原则也就可以了——创建和连接一个套接字,尝试进行连接,然后收发数据。真 正难的是要写出一个可以接纳少则一个,多则数千个连接的网络应用程序。本文将讨论如何通过Winsock2在Windows NT 和 Windows 2000上开发高扩展能力的Winsock应用程序。文章主要的焦点在客户机/服务器模型的服务器这一方,当然,其中的许多要点对模型的双方都适用。
本文介绍了IOCP(I/O Completion Port 输入/输出完成端口)的基本原理,IOCP是一种能构合理利用与管理多线程的机制,可以帮助处理大量客户端请求的网络服务问题,是Windows系统平台上用于开发高性能的服务器应用程序的最好的I/0模型。本文最后结合时间给出了一个基于IOCP开发服务器端应用程序的设计方案和其部分实现代码。