2010-05-25 83 views
1

明天为考试做一些练习题无法弄清楚这一点TCP服务器所需的套接字端口的最小数目是多少?

TCP服务器连接TCP客户端进行通信所需的套接字端口的最小数量是多少?

当然,它只是两个权利?一个用于客户端的服务器,但这似乎很明显。我的伙伴们认为TCP在服务器端使用两个端口来输入数据,一个输出数据。

在此先感谢

回答

2

通常一个端口/插座将在服务器上打开监听传入的连接。连接后,连接将在服务器上分配自己的(不同的)套接字以继续对话。所以严格来说,这是服务器上的一个端口和两个套接字 - 如果您想要统计,那么客户端上有一个端口和两个套接字。

编辑:是的我相信下面的评论是正确的 - 编辑上面的答案来区分套接字和端口。

+1

+1 - 击败我吧。 – 2010-05-25 18:01:02

+2

在服务器端使用相同的端口号来监听新连接和已建立的连接(可以通过netstat(1)实用程序进行验证)。服务器上的TCP堆栈使用客户机端口号来区分已建立的连接。 – 2010-05-25 18:31:44

+1

Steve Emmerson是对的。在通用的BSD套接字API下,有两个服务器*套接字* - 一个监听新的连接,一个与连接的客户端通信 - 但仍然只有一个服务器*端口*。 – caf 2010-05-26 00:14:15

1

某些协议(如ftp)使用多个端口(一个用于控制,另一个用于数据),但TCP通常可以在每边使用一个端口。

0

答案是两个:服务器上的一个端口既监听新连接,又监听服务已建立的端口和客户端上的一个端口。

相关问题