如何找到分配给UDP客户端的端口号(在.net/C#中)?

Cha*_*ler 6 c# udp udpclient

如果我使用创建套接字

var socket = new UdpClient(0,AddressFamily.InterNetwork);
Run Code Online (Sandbox Code Playgroud)

然后我如何找到套接字的端口?

我可能很愚蠢,但我在MSDN /谷歌上没有运气(可能是因为星期五是4:42,太阳正在闪耀).

背景:

我想要做的是找到一个开放的端口,然后向另一个进程报告,以便在该端口上将消息转发给我.可能有多个客户端,所以我不想使用固定端口.

谢谢.

dtb*_*dtb 15

UdpClient是Socket类的包装器,它通过LocalEndPoint属性公开它绑定的端点.由于您使用的是UDP/IP客户端,因此它是一个具有所需Port属性的IPEndPoint:

int port = ((IPEndPoint)socket.Client.LocalEndPoint).Port;
Run Code Online (Sandbox Code Playgroud)