Der*_*rek 1 c sockets network-programming
我有一个设置为listen()的套接字
通常我会基于通过 select() 准备好的文件描述符来接受这些连接。我可以将其更改为具有相同文件描述符的recv() 而不是accept() 吗?
不,它们不可互换。
您仅使用 监听单个文件描述符,但一旦连接了客户端,您希望每个连接select都有一个文件描述符。
accept提取侦听套接字的挂起连接队列上的第一个连接请求,创建一个新的已连接套接字,并返回引用该套接字的新文件描述符。
一旦有了新的文件描述符,您就可以使用 recv 从客户端接收数据。