我在使用Unix的select函数时遇到了问题。
我有一个服务器在等待连接。首先,我使用FD_SET(listener, readfds)将监听套接字文件描述符listener添加到fd_set readfds中,然后在select()中使用它。
当我收到连接时,我调用accept()并使用接受的文件描述符设置select中的readfds,并开始从连接接收数据。但是,当我在strace中检查代码时,在第二次执行select()时,select在readfds中不显示监听器。
在再次调用select()之前,我需要再次使用FD_SET(listener, readfds)来设置监听器文件描述符吗?
谢谢。
我有一个服务器在等待连接。首先,我使用FD_SET(listener, readfds)将监听套接字文件描述符listener添加到fd_set readfds中,然后在select()中使用它。
当我收到连接时,我调用accept()并使用接受的文件描述符设置select中的readfds,并开始从连接接收数据。但是,当我在strace中检查代码时,在第二次执行select()时,select在readfds中不显示监听器。
在再次调用select()之前,我需要再次使用FD_SET(listener, readfds)来设置监听器文件描述符吗?
谢谢。