阻塞式模型并发 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866
1.通过调用ioctlsocket(SOCKET s,long cmd,u_long *arpg)函数,改变该套接字的模式, 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 什么是阻塞式 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接收数据时,程序会直接读取网络缓冲区中的数据.无论是否读到数据,函数都会立即返回.
1.每次只服务一个连接,只有在服务完当前客户端连接之后,才会继续服务下一个客户端连接. 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 阻塞式迭代模式 1.每次只服务一个连接,只有在服务完当前客户端连接之后,才会继续服务下一个客户端连接. 阻塞式并发连接模式 1.通过多线程,可以同时服务多个连接.每一个线程处理一个客户端连接.
SOCKET Bind_Listen(int nBacklog) 2. //接收一个客户端连接并返回对应的连接的套接字 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 阻塞式迭代模式步骤 1. //先处理连接 绑定本地地址和监听 SOCKET Bind_Listen(int nBacklog) 2. //接收一个客户端连接并返回对应的连接的套接字 SOCKET AcceptConnetion(SOCKET hSocket) 3.//处理一个客户端的连接,实现接收和发送数据 BOOL ClientConFun(SOCKET sd) 4. //关闭一个连接 BOOL CloseConnect(SOCKET sd) 5. //服务器主体 void MyTcpSerFun()
和迭达模型基本相同,只是在于处理客户端连接上,我们需要用到多线程来处理 客户端连接,以给予服务端同时处理业务的能力. 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 阻塞式并发模式 和迭达模型基本相同,只是在于处理客户端连接上,我们需要用到多线程来处理 客户端连接,以给予服务端同时处理业务的能力.
<基础二(WIN32、MFC、网络编程、数据库)线上班>学员可见 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 课后练习:(无) <基础二(WIN32、MFC、网络编程、数据库)线上班>学员可见