【Linux学习笔记59】超时控制的四种方法

引言

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

设置超时

  1. 通过setsockopt设置套接字属性实现超时

在这里插入图片描述
在这里插入图片描述

2.使用select函数超时控制
在这里插入图片描述
在这里插入图片描述
3.使用poll函数实现超时控制
在这里插入图片描述
4.使用定时器alarm函数发送信号设置超时
(5s后,自动发送SIGALRM信号)
在这里插入图片描述
在这里插入图片描述

发布了91 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/RayCongLiang/article/details/101309241
今日推荐