0

MSDN里有一句话,

“如果您不关心使用哪个本地端口,您可以使用 0 作为端口号创建一个 IPEndPoint。在这种情况下,服务提供商将分配一个介于 1024 和 5000 之间的可用端口号”

我的困惑是:当客户端想要连接到服务器时,

客户端是否还需要知道服务器正在监听哪个端口?

或者客户端只是连接到 0 端口。

谢谢。

4

2 回答 2

2

客户端仍然需要知道服务器实际绑定到哪个端口,并连接到该端口。

这方面的一个例子是在FTP协议中。通常在使用主动模式时,服务器使用一个(已知的)端口进行命令,并绑定一个额外的动态端口进行数据传输。当数据传输开始时,服务器通过命令通道向客户端发送消息中的实际端口,然后客户端连接到它刚刚获知的(伪随机)数据端口以获取实际的文件数据。

于 2013-07-26T06:43:20.157 回答
0

当您连接到服务器时,您必须知道 ip+port 决定您的应用程序链接远程服务器上的哪个进程。

像这样连接套接字

你的:IP服务器:Ip < ============================================ ==================>你的:端口服务器:端口

所以在客户端。你不在乎哪个本地端口。当您连接到服务器时,服务器已经知道端口。

于 2013-07-26T06:49:43.167 回答