多让人印象深刻的新特性。这些新特性所涉及的面积很广泛,具体可以包括以下几种分类:1)多协议支持:新版本支持更多协议,可以方便用户二次开发2)分散和聚合:新的协议版本对发送和接收提供了更多的缓冲器支持3)重叠I/O:应用使用异步I/O的时候提高了应用程序的执行效率4)QoS支持:WinSock2支持控制流量规范并且可以接收当其变化时的通知。5)Socket分组:通过对Socket的属性进行分组,并且支持按照分组设置优先级。6)多点和多播:可以有选择性的发送数据,通过多播将数据发送到多个目标。7)接受条件控制:根据协议连接与断开的变换中发送接收正常数据之外的其他数据。8)进程级别的Socket共享功能:可以在一个或者多个进程中共享Socket。WindowsSocket2API的数量和WinSock1.1相比,其函数数量多了几乎一倍之多。不同于仅支持单一活跃dll的WinSock,WinSock2同时可以在同一台计算机上面提供多个WinSocket,这让其灵活性大大增加,同时WinSock2增加了架构的灵活性,多个协议栈和接口仅仅使用一个顶层dll就可以完成所有的功能。WinSockAPI通过标准化服务提供接口与服务提供商进行交流,并且能够同时多进程的在多个服务提供商之间进行对话。下图展示了WindowsSockets2架构的简单描述[5]:陕西理工学院毕业设计第4页共64页图1.1WindowsSocket2的WOSA架构示意图WindowsSockets2应用程序WindowsSockets1.1应用程序WinSock.dll(16位)WSOCK32.dll(32位)WS2-32.dll(32位)WinSock2APIWinSock1.1APIWinSock2服务提供商接口附加传输服务提供商SPX/IPX等TCP/IP传输服务提供商基于TCP/IP域名解析网页空间服务提供商