如何在Linux上预定时间单位后自动杀死空闲的tcp连接?

eqoofvh9  于 2023-08-03  发布在  Linux
关注(0)|答案(1)|浏览(90)

我尝试用C写一个服务器,它使用一个名为epoll()的函数来处理连接,我想在空闲套接字上实现一个超时,这样我就可以防止一堆空闲套接字占用资源,但我不想用timerfd()写一堆复杂的超时代码。我知道在Linux上可以配置网络流量设置,我想知道是否有一种方法可以使操作系统在15秒的不活动后终止空闲的TCP连接。我知道它会对其他使用TCP的程序产生影响,但我只计划让这一个程序在我的Linux机器上运行。
有没有一种方法可以让内核(或任何控制TCP流量的东西)在空闲一段时间后终止TCP连接?

slmsl1lt

slmsl1lt1#

拥有这样的功能需要资源来实现和维护。我不认为有一个相关的真实的世界的用例,其中需要在系统上的每个TCP套接字上的全局空闲超时。因此,我不认为这是实施。应用程序可以很容易地实现自己的超时处理,并且在这里也更灵活,比如每个应用程序的不同超时,套接字上的每个应用程序协议的状态(如头部与主体),取决于负载、开放插座的数量……

相关问题