摘要: WinSock学习笔记6:IOCP完成端口模型[代码]该代码仅仅是练习IOCP的函数使用和大体的实现步骤,里面很多细节并不是唯一的方法,例如单IO数据结构和单句柄数据结构的定义等等。 阅读全文
posted @ 2010-09-28 23:13 tc310 阅读(448) 评论(0) 推荐(0) 编辑
摘要: Winsock学习笔记5:I/O Overlapped (重叠)模式[代码]1.此代码只是为了学习函数的使用方法,为了使代码简单,此处使用Timer管理客户端连接,并为每个连接创建独立的线程,Overlapped的处理方式可在线程的执行部分查看,实际应用中不应该用这种模式;2.此代码为消息型的重叠(I/O Overlapped)模式,还有一种“完成例程”模式(非完成端口); 阅读全文
posted @ 2010-09-28 23:11 tc310 阅读(401) 评论(0) 推荐(0) 编辑
摘要: WinSock学习笔记4:WSAEventSelect模型WSAEventSelect类似于WSAAsycnSelect,区别就是当Socket上有“事件”时,传递一个Event而不是Windows消息。[代码]1.WSAEventSelect需要Winsock2.0,可以google搜索Winsock2.pas;2.使用Bind的时候要注意:LocalAddr.sin_a... 阅读全文
posted @ 2010-09-28 23:10 tc310 阅读(423) 评论(0) 推荐(0) 编辑
摘要: WinSock学习笔记3:Select模型[代码]1.使用Select模型,要定义一个FDSet结构,将客户端Socket加入该结构,用Select函数轮询测试该Socket的读写状态。FDSet结构: typedef struct fd_set { u_int fd_count; SOCKET fd_array[FD_SETSIZE]; } fd_set;2.操作FDSet结构有4个预定义的... 阅读全文
posted @ 2010-09-28 23:07 tc310 阅读(355) 评论(0) 推荐(0) 编辑
摘要: Winsock学习笔记2:WSAAsyncSelect模型共有五种类型的套接字I/O模型,可让Winsock应用程序对I/O进行管理,它们包括: select(选择)、WSAAsyncSelect(异步选择)、WSAEventSelect(事件选择)、overlapped(重叠)以及 completion port(完成端口)。WSAAsyncSelect(异步选择)是最简单也最好理解的模式,因为... 阅读全文
posted @ 2010-09-28 23:06 tc310 阅读(1618) 评论(0) 推荐(0) 编辑