有没有办法让'select'等待读写,同时还能添加新的文件描述符?最好是在一个帖子上?
答案 0 :(得分:3)
据我所知,你可以在同一个线程中但不能同时执行。在这样的问题中,我通常在描述符列表中添加我的虚拟环回套接字,每当我必须在FD_LIST中添加一个新套接字时,我只是向我的虚拟套接字发送一个字节,它会中断选择循环。然后我可以更新FD_LIST并再次使用select恢复。
答案 1 :(得分:2)
既然我知道您的场景是什么(基于套接字的服务器可能想接受新的传入连接),您是否知道可以将侦听套接字的文件描述符附加到{{1}的列表中}?参见例如http://www.lowtek.com/sockets/select.html
(释义例子:)
select