Socket编程
xiangzhang321
如果今天不走快一点,那么明天就要用跑的了
展开
-
WSAEventSelect模型 用法介绍
WSAEventSelect模型 WSAEventSelect模型也是I/O模型中较为常用的一个异步模型,它也允许应用程序在一个或多个套接字上,接收以事件为基础的网络事件通知。该模型最主要是将网络事件投递至一个事件对象句柄。 事件通知 事件通知模型要求我们的应用程序针对打算使用的每一个套接字,首先创建一个事件对象。创建方法是调用WSACreateEvent函数,它的定义如转载 2012-04-12 09:35:43 · 503 阅读 · 0 评论 -
Select模型 详解
讲一下套接字模式和套接字I/O模型的区别。先说明一下,只针对Winsock,如果你要骨头里挑鸡蛋把UNIX下的套接字概念来往这里套,那就不关我的事。 套接字模式:阻塞套接字和非阻塞套接字。或者叫同步套接字和异步套接字。 套接字模型:描述如何对套接字的I/O行为进行管理。 Winsock提供的I/O模型一共有五种: select,WSAAsyncSelect,WSAEventSelect,O转载 2012-04-12 09:34:48 · 478 阅读 · 0 评论 -
Winsock异步模式I/O模型WSAEventSelect的使用
1.Winsock同步阻塞方式的问题 在异步非阻塞模式下,像accept(WSAAccept),recv(recv,WSARecv,WSARecvFrom)等这样的winsock函数调用后马上返回,而不是等待可用的连接和数据。在阻塞模式下,server往往这样等待client的连接: while(TRUE) { //wait for a connection Clien转载 2012-04-12 09:36:28 · 1068 阅读 · 1 评论 -
Windows下重叠I/O模型
一.重叠模型的优点 1.可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统。 2.比起阻塞、select、WSAAsyncSelect以及WSAEventSelect等模型,重叠I/O(Overlapped I/O)模型使应用程序能达到更佳的系统性能。 因为它和这4种模型不同的是,使用重叠模型的应用程序通知缓冲区收发系统直接使用数据,转载 2012-04-12 09:45:13 · 422 阅读 · 0 评论 -
IO 模型之WSAAsyncSelect模型
Winsock提供了一个有用的异步I/O模型。利用这个模型,应用程序可在一个套接字上,接收以Windows消息为基础的网络事件通知。具体的做法是在建好一个套接字后,调用WSAAsyncSelect函数。该模型最早出现于Winsock的1.1版本中,用于帮助应用程序开发者面向一些早期的16位Windows平台(如Windows for Workgroups),适应其“落后”的多任务消息环境。应用转载 2012-04-12 09:38:58 · 400 阅读 · 0 评论 -
socket IO完成端口模型详解(例子)
#include "stdafx.h" #include #include #define PORT 5150 #define MSGSIZE 1024 #pragma comment(lib, "ws2_32.lib") typedef enum { RECV_POSTED }OPERATION_TYPE; //枚举,表示状态 typedef s转载 2012-04-12 09:50:26 · 1701 阅读 · 1 评论 -
五种WinSock I/O模型的特点及比较
====== select 模型: select模型是WinSock中应用最广泛的模型之一,核心就是select函数,它可用于 判断套接字上是否存在数据,或者能否向一个套接字写入数据。 这个函数可以有效地防止应用程序在套接字处于阻塞模式中时,send或recv进入 阻塞状态;同时也可以防止产生大量的WSAEWOULDBLOCK错误 select的优势是能够从当个线程的多个套接字上进转载 2012-04-12 09:33:24 · 644 阅读 · 0 评论