4.1.2 设置套接字的阻塞模式
来源:互联网 发布:视频直播聊天室源码 编辑:程序博客网 时间:2024/05/14 09:05
当使用socket()函数和WSASocket()函数创建套接字时,默认的套接字都是阻塞的。这意味着当调用Windows Sockets API不能立即完成时,线程处于等待状态,直到操作完成。
并不是所有Windows Sockets API以阻塞套接字为参数调用都会发生阻塞。例如,以阻塞模式的套接字为参数调用bind()、listen()函数时,函数会立即返回。将可能阻塞套接字的Windows Sockets API调用分为以下四种。
1.输入操作
recv()、recvfrom()、WSARecv()和WSARecvfrom()函数。以阻塞套接字为参数调用该函数接收数据。如果此时套接字缓冲区内没有数据可读,则调用线程在数据到来前一直睡眠。
2.输出操作
send()、sendto()、WSASend()和WSASendto()函数。以阻塞套接字为参数调用该函数发送数据。如果套接字缓冲区没有可用空间,线程会一直睡眠,直到有空间。
3.接受连接
accept()和WSAAcept()函数。以阻塞套接字为参数调用该函数,等待接受对方的连接请求。如果此时没有连接请求,线程就会进入睡眠状态。
4.外出连接
connect()和WSAConnect()函数。对于TCP连接,客户端以阻塞套接字为参数,调用该函数向服务器发起连接。该函数在收到服务器的应答前,不会返回。这意味着TCP连接总会等待至少到服务器的一次往返时间。
- 4.1.2 设置套接字的阻塞模式
- 设置套接字的非阻塞模式
- 5.1.2 设置套接字的非阻塞模式
- 4.1 套接字的阻塞模式
- 套接字阻塞模式
- 套接字的阻塞模式和非阻塞模式
- 5.1 套接字的非阻塞模式
- 套接字的非阻塞模式
- 套接字的非阻塞模式
- 设置阻塞或非阻塞套接字
- 设置套接字为非阻塞的方法
- TCP流式套接字的阻塞模式编程
- 套接字的阻塞模式——1
- TCP流式套接字的阻塞模式编程
- 4.1.3 阻塞模式套接字优势和不足
- 设置套接字 为 非阻塞
- 阻塞套接字巧妙设置连接超时
- 阻塞TCP套接字connect超时设置
- 新的开始
- 电脑安全十大注意事项
- 以后的电子商务会是什么样子??
- 动态动作系统——一种全新的游戏人物动作制作思路
- ora-01033 解决方法
- 4.1.2 设置套接字的阻塞模式
- where1=1的sql查询功能
- #pragma 预处理指令详解
- 求一个字符中连续出现次数最多的子串
- MYSQLMANAGER实例管理器总结
- 数据表的设计原则:
- 简单的Silverlight 2应用程序开发---01
- Perl中的文件操作
- 简单的Silverlight 2应用程序开发---02