Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 linux 中编写了一个简单的程序,它创建套接字 id(将套接字 FD 设为 3),打印并关闭它。就在关闭之前,它将等待用户输入。我在不同的 shell 中又启动了一个程序实例。第二个程序也创建了套接字,但得到了相同的套接字 FD,即 3。然后我扩展了程序以在同一个程序中创建两个套接字。现在我将套接字 FD 设置为 3 和 4。
现在我的疑问是 Socket FD 值是否特定于某个进程?如果是这样,选择调用如何正确识别哪个套接字获取了数据?
文件描述符对于程序的运行实例是唯一的 - 因此您的结果是正确的。由于它们是独一无二的,因此 select() 也可以。