一台服务器绑定不同的端口

时间:2016-03-08 15:11:23

标签: c sockets

我是C的新手。现在我让我的服务器创建两个线程来监听两个不同的端口,它们都会调用bind a port->listen()->accept()。然后有两个客户端分别连接到这两个端口。然后这两个线程将accept()并生成两个文件描述符。我很好奇的是,生成的文件描述符可能是相同的整数吗?

2 个答案:

答案 0 :(得分:2)

文件描述符是你不应该解释的东西 - 所以知道这个实际上“不是你的事”;)

在进程中,系统调用返回的文件描述符保证为唯一。因此,两个线程将接收两个不同的整数(实际上,多线程根本不会影响这个问题。结果就像在主线程中打开两个套接字一样)。

答案 1 :(得分:1)

它们可能是相同的整数,如果第一个线程将在第二个套接字上的accept创建新套接字之前关闭新套接字 - 文件描述符将被回收。

相关问题