9811端口的TCP侦听服务器。是否可以配置客户端端口?

时间:2016-05-12 14:52:41

标签: tcp tcplistener

当我们打开TCP Listening时,我们使用固定端口,例如" 9870"。 但连接到此监听的客户端使用不同的端口,如" 1024,1025"或其他。我不知道这个端口的名称是什么,"客户端端口","动态端口"或者"短暂的端口" ...但我需要知道是否可以更改此客户端端口。 因为,与第二张图像一样,它显示错误"重复使用的端口号",我认为这与此端口配置有关。

我想如果我可以配置这些端口,我网络上设备的连接将会稳定下来。

netstat

WireShark error

1 个答案:

答案 0 :(得分:2)

TL; TR:通常不需要配置客户端源端口,也绝对不能在服务器上设置客户端源端口。

客户端可以像服务器一样绑定到地址+端口,然后将此端口用作连接的源端口。但通常不会这样做,而是套接字没有专门绑定,系统会自动分配一个自由源端口。客户端源端口只能由客户端自己设置,服务器不能更改。

通常,客户端不可能重用端口号,因为操作系统不会让客户端执行此操作。但是,如果客户端崩溃,您所看到的情况就会发生。重新启动后,客户端不知道在重新启动之前建立(并且从不关闭)的任何连接,因此它将很乐意再次使用相同的源端口。在这种情况下,它从服务器获取RST,因为新数据与旧连接不匹配。

如果客户端与某个执行NAT的路由器连接并且路由器崩溃,也会发生这种情况。重新启动后,路由器不知道任何先前的连接,因此将创建可能与旧连接冲突的新转换。