在Windows网络编程中,一般我们要用到的网络模型就5种, 分别是, select模型,WSAAsyncSelect模型,WSAEventSelect模型,重叠模型, 完成端口模型。
  这几种模型都可以用在网络开发中,但是根据不同的项目和不同的环境,有不同的选择,如果服务器端的连接数不是很多时,假如100以内,这几种模型都可以用,完成端口模型在连接数不多时显的有点复杂了, select模型,WSAAsyncSelect模型,WSAEventSelect模型更适合用在客户端连接数不多的情况。
  WSAAsyncSelect模型更适合用在有窗口的客户端程序中,因为它是这几个模型中,唯一和窗口句柄和窗口过程关联的模型,如果没有窗口的客户端程序中, select模型,WSAEventSelect模型都可以用, select模型更简单一些。
  最后我们来谈谈完成端口模型, 完成端口模型是比较复杂的,它适合用在上千个客户连接的服务器开发,我觉的它和前面几个模型最大不同之处在与,它是在每次网络事件触发前,将函数注册,而其他的模型是事件触发时调用相应的网络事件函数(呵呵,不知道Windows内核为什么要这么做)。
Posted on 2010-06-22 15:15 郑兴锋 阅读(546) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理