引言
在网络的配置中,有两个概念分别为:阻塞,非阻塞。阻塞情况下,当读一个socket套接字,即使没有数据也会一直等待。而非阻塞情况下,当读一个socket套接字,只会检测一瞬间,如果没有数据就离开,有数据则读出。这两种都是比较极端的方法,因此就有一个中间状态:超时控制。
超时控制会是比较常用介于阻塞与非阻塞的一种方法,既不是无限等待数据的到来,也不是只等待一瞬间,可以设置为5分钟或者10分钟都可以。
设置超时
- 通过
setsockopt设置套接字属性实现超时


2.使用select函数超时控制


3.使用poll函数实现超时控制

4.使用定时器alarm函数发送信号设置超时
(5s后,自动发送SIGALRM信号)



本文探讨了网络编程中阻塞与非阻塞的概念,并详细介绍了超时控制这一中间状态的作用与实现方式,包括通过setsockopt设置套接字属性、使用select、poll函数及定时器alarm函数等方法。
1172

被折叠的 条评论
为什么被折叠?



