net.Conn 超时设置Deadline的正确姿势

如果你用Golang进行网络编程,你一定会接触到net.Conn中的SetDeadline,设置超时参数。

为什么要设置超时

大家知道,在网络编程中,连接数是一个稀缺资源,设置超时时间,是为了当超时到达的时候,由操作系统,或者我们手动释放连接数,让更多的客户,能够访问我们的服务器。

超时时间怎么设置

go里面的SetDeadline,是比较暴力的,时间一到,读写即使在进行中,都会立即给你掐断了。如果你不假思索的直接暴力使用SetDeadline,是完全不行的。

如何正确的设置

超时参数,如果想要正确的发挥作用,我们应该执行这样的思路:1. 有数据读写,超时时间需要刷新,即动态往后续费时间。2. 没有数据读写,那就活活等到超时时间一到,就给它掐掉。

实际操作如何

简单就是利用go的特点,具体怎么做,我就不细讲了,因为免费的知识是最廉价的,你永远不会记住,你永远需要自己寻找答案。

这就是课后作业,大家自己想一下,如何去做。

分类: 默认 标签: 发布于: 2022-05-28 20:05:26, 更新于: 2022-05-28 20:05:26