我尝试用C写一个服务器,它使用一个名为epoll()的函数来处理连接,我想在空闲套接字上实现一个超时,这样我就可以防止一堆空闲套接字占用资源,但我不想用timerfd()写一堆复杂的超时代码。我知道在Linux上可以配置网络流量设置,我想知道是否有一种方法可以使操作系统在15秒的不活动后终止空闲的TCP连接。我知道它会对其他使用TCP的程序产生影响,但我只计划让这一个程序在我的Linux机器上运行。有没有一种方法可以让内核(或任何控制TCP流量的东西)在空闲一段时间后终止TCP连接?
slmsl1lt1#
拥有这样的功能需要资源来实现和维护。我不认为有一个相关的真实的世界的用例,其中需要在系统上的每个TCP套接字上的全局空闲超时。因此,我不认为这是实施。应用程序可以很容易地实现自己的超时处理,并且在这里也更灵活,比如每个应用程序的不同超时,套接字上的每个应用程序协议的状态(如头部与主体),取决于负载、开放插座的数量……
1条答案
按热度按时间slmsl1lt1#
拥有这样的功能需要资源来实现和维护。我不认为有一个相关的真实的世界的用例,其中需要在系统上的每个TCP套接字上的全局空闲超时。因此,我不认为这是实施。应用程序可以很容易地实现自己的超时处理,并且在这里也更灵活,比如每个应用程序的不同超时,套接字上的每个应用程序协议的状态(如头部与主体),取决于负载、开放插座的数量……