在 windows 机器上的 .net 中使用 C#,有没有办法确定特定应用程序正在使用或打开的 tcp 或 udp 端口​​?

Using C# in .net on a windows machine, is there a way to determine what tcp or udp ports a particular app is using or has opened?

我的应用程序不时打开随机端口并使用它们。我见过一个问题,在很长一段时间内,资源泄漏。

有没有办法以编程方式获取我当前应用正在使用的开放 TCP 和 UDP 端口列表?我需要此信息用于当前 运行 应用,而不是外部应用。

关于如何获取开放端口列表而不必逐个检查每个端口是否打开的任何想法?

你可以使用这个:
https://code.msdn.microsoft.com/windowsdesktop/C-Sample-to-list-all-the-4817b58f

并获取与您的 PID 关联的端口。