如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
高级Socket编程Socket编程模型设置非阻塞模式套接字异步与同步非阻塞模式服务器应用程序编程实例非阻塞模式客户端应用程序编程实例进程和线程进程和线程CreateThread()创建线程TerminateThread()网络服务器的设计模式串行服务器方案并发服务器方案基于非阻塞模式的多线程服务器应用程序编程主线程:负责接收来自客户端的连接请求,然后创建专门与该客户端进行通信的线程。专门的通信线程:基于阻塞模式多线程TCP文件服务器程序编程①异步同步是指线程对数据获取的方式而言的,异步:内核主动通知线程;同步:线程主动询问内核。②而阻塞非阻塞是在线程主动询问内核时,内核对线程的不同处理方式。所以阻塞非阻塞都是在同步的情况下发生的。即|----异步|----同步|-----阻塞|-----非阻塞Socket编程模型Select模型select( )函数fd_set结构体select()函数使用说明4个宏Select模型应用举例基于WSAAsyncSelect模型Socket编程WSAAsyncSelect( )函数常用的网络事件基于WSAEventSelect模型Socket编程WSAAsyncSelect模型举例创建事件对象——WSACreateEvent( )网络事件注册——WSAEventSelect( )事件对象状态复位—WSAResetEvent( )事件对象状态置位—WSASetEvent( )关闭事件对象—WSACloseEvent( )等待事件对象—WSAWaitForMultipleEvents( )网络事件查询—WSAEnumNetworkEvents( )WSANETWORKEVENTS结构WSAEventSelect模型举例