Download presentation
Presentation is loading. Please wait.
1
阻塞式模型并发 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:www.bcdaren.com
联系QQ: QQ交流群 : 联系电话:
2
1.通过调用ioctlsocket(SOCKET s,long cmd,u_long *arpg)函数,改变该套接字的模式,
昆山爱达人信息技术有限公司 QQ: 什么是阻塞式 1、在创建一个套接字后,默认都是阻塞式的.Winsocket的IO函数比如:Send和Revc,必须等待函数完成相应的I/O操作后,才能继续 . 什么是非阻塞式 1.通过调用ioctlsocket(SOCKET s,long cmd,u_long *arpg)函数,改变该套接字的模式, U_long nNoBlock = 1; Ioctlsocket(s,FIONBIO,&nNoBlock); 2.无论操作是否完成,非阻塞式函数都会立即返回.例如,在非阻塞模式下调用recv接收数据时,程序会直接读取网络缓冲区中的数据.无论是否读到数据,函数都会立即返回.
3
1.每次只服务一个连接,只有在服务完当前客户端连接之后,才会继续服务下一个客户端连接.
昆山爱达人信息技术有限公司 QQ: 阻塞式迭代模式 1.每次只服务一个连接,只有在服务完当前客户端连接之后,才会继续服务下一个客户端连接. 阻塞式并发连接模式 1.通过多线程,可以同时服务多个连接.每一个线程处理一个客户端连接.
4
SOCKET Bind_Listen(int nBacklog) 2. //接收一个客户端连接并返回对应的连接的套接字
昆山爱达人信息技术有限公司 QQ: 阻塞式迭代模式步骤 1. //先处理连接 绑定本地地址和监听 SOCKET Bind_Listen(int nBacklog) 2. //接收一个客户端连接并返回对应的连接的套接字 SOCKET AcceptConnetion(SOCKET hSocket) 3.//处理一个客户端的连接,实现接收和发送数据 BOOL ClientConFun(SOCKET sd) 4. //关闭一个连接 BOOL CloseConnect(SOCKET sd) 5. //服务器主体 void MyTcpSerFun()
5
和迭达模型基本相同,只是在于处理客户端连接上,我们需要用到多线程来处理 客户端连接,以给予服务端同时处理业务的能力.
昆山爱达人信息技术有限公司 QQ: 阻塞式并发模式 和迭达模型基本相同,只是在于处理客户端连接上,我们需要用到多线程来处理 客户端连接,以给予服务端同时处理业务的能力.
6
<基础二(WIN32、MFC、网络编程、数据库)线上班>学员可见
昆山爱达人信息技术有限公司 QQ: 课后练习:(无) <基础二(WIN32、MFC、网络编程、数据库)线上班>学员可见
Similar presentations