我想监听传入连接60秒,而不是关闭服务器套接字。我该怎么做?
不要在accept
中等待连接,而是使用select
或poll
来等待套接字变得可读,这表明存在要接受的连接。您可以在60秒后使select
或poll
超时。
您可以在描述符集中标记为读取的套接字上使用带有超时的select。您也可以使用alarm()设置报警信号:
#include <unistd.h>
unsigned int alarm(unsigned int seconds);