C#作为UDP客户端,本地端口号填写成对方端口号为何也能通信

在与UDP服务端通信时,
本地端口号填写为服务端的端口号,远程端口号填写服务端的端口号,也能通信,这是为何?。
当然,本地端口填写自己的端口号时,也能通信。

服务器通常情况下根本不在乎你的本地端口是多少(只有极少数古老的服务需要),只要是个合法范围的端口就行。
不过,从你本地来说,这个端口得是一个空闲的端口才行。

名称 说明
UdpClient()()() 初始化 UdpClient 类的新实例。
UdpClient(Int32) 初始化 UdpClient 类的新实例,并将它绑定到所提供的本地端口号。
UdpClient(IPEndPoint) 初始化 UdpClient 类的新实例,并将其绑定到指定的本地终结点。
UdpClient(AddressFamily) 初始化 UdpClient 类的新实例。
UdpClient(Int32, AddressFamily) 初始化 UdpClient 类的新实例,并将它绑定到所提供的本地端口号。
UdpClient(String, Int32) 初始化 UdpClient 类的新实例,并建立默认远程主机。