网络编程的4种IO模型
2012-11-28 19:29
316 查看
select
FD_ZERO初始化
FD_SET将socket加进去
select轮询
当socket的事件发生时,fd_set里面有相关的socket,如果没有socket有事件发生,select返回0
FD_ISSET检测,socket是否还在fd_set里,是的话,表示这个socket有事件发生
WSAAsyncSelect
WSAAsyncSelect将socket与对应的窗口过程绑定,并指定这个socket对哪些事件感兴趣
WSAGETSELECTERROR(lParam)得到错误
WSAGETSELECTEVENT(lParam)得到是哪个事件
wParam为socket
WSAEventSelect
WSACreateEvent创建一个事件
WSAEventSelect将socket与事件绑定
WSAWaitForMultipleEvents等待这些事件
WSAEnumNetworkEvents得到发生的通知FD_ACCEPT之类
WSAGetOverlappedResult
typedef struct _WSAOVERLAPPED {
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
WSAEVENT hEvent;
} WSAOVERLAPPED, *LPWSAOVERLAPPED;
WSAOVERLAPPED中的hEvent
WSACreateEvent创建一个事件
用WSARecv带WSAOVERLAPPED结构
用WSAWaitForMultipleEvents等待这些事件
用WSAGetOverlappedResult得到WSAOVERLAPPED结构
FD_ZERO初始化
FD_SET将socket加进去
select轮询
当socket的事件发生时,fd_set里面有相关的socket,如果没有socket有事件发生,select返回0
FD_ISSET检测,socket是否还在fd_set里,是的话,表示这个socket有事件发生
WSAAsyncSelect
WSAAsyncSelect将socket与对应的窗口过程绑定,并指定这个socket对哪些事件感兴趣
WSAGETSELECTERROR(lParam)得到错误
WSAGETSELECTEVENT(lParam)得到是哪个事件
wParam为socket
WSAEventSelect
WSACreateEvent创建一个事件
WSAEventSelect将socket与事件绑定
WSAWaitForMultipleEvents等待这些事件
WSAEnumNetworkEvents得到发生的通知FD_ACCEPT之类
WSAGetOverlappedResult
typedef struct _WSAOVERLAPPED {
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
WSAEVENT hEvent;
} WSAOVERLAPPED, *LPWSAOVERLAPPED;
WSAOVERLAPPED中的hEvent
WSACreateEvent创建一个事件
用WSARecv带WSAOVERLAPPED结构
用WSAWaitForMultipleEvents等待这些事件
用WSAGetOverlappedResult得到WSAOVERLAPPED结构
相关文章推荐
- Linux网络通信编程(套接字模型TCP\UDP与IO多路复用模型select\poll\epoll)
- 网络编程--IO模型示例
- JAVA基础知识之网络编程——-网络通信模型(IO模型)
- 关于网络编程六种IO模型的形象比喻
- [置顶] 【java I/O模型】 Java 网络IO编程总结
- linux网络编程之IO模型
- linux网络编程-----几种服务器模型及io多路复用函数
- 网络编程--IO模型示例
- 网络编程的5个IO模型
- Java网络编程 - 同步阻塞IO模型
- Linux网络编程服务器模型选择之IO复用循环并发服务器
- 网络编程五种IO模型之IOCP模型
- JAVA网络编程基础知识-Linux网络IO模型
- linux网络编程--IO模型
- 网络编程模型综述 之 成熟的IO框架介绍
- 网络编程IO模型--学习笔记
- 网络编程--IO模型示例
- 网络编程--IO模型示例(阻塞式IO)
- 网络编程与并发-IO模型
- 网络编程--IO模型示例