我有一个服务器(在Windows上的c中)只是监听许多套接字。 我必须检测其中一些套接字是否在超过 xx 分钟后没有发送数据。 在这种情况下,我必须关闭该特定连接。
我研究了keepalive参数,但我还不知道如何实现这个要求。
谢谢 罗萨里奥
最佳答案
定义一个struct
,其中包含套接字句柄和该套接字上上次接收数据的时间戳。当客户端连接时,将其放入列表/数组中并设置时间戳。当客户端断开连接(或关闭它)时,在列表/数组中找到该套接字并将其删除。每次收到新数据时,在列表/数组中找到该套接字并更新其时间戳。然后,您可以定期循环该列表/数组以查找过期的时间戳。
关于c - 检测连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22874193/