如何取得当前机器正在使用的端口列表2011-05-19 博客园 陈希章上一篇我讲到了如何取得可用的端口。那么,与这个相反的一个问题就是,如 何取得正在使用的端口列表呢?这个问题依然是没有什么现成的东西可用的,但对于咱来说,算不了什么大不 了的问题。至少我想到一个比较土的办法,嘿嘿1. 我们知道,要想查看当前所有的端口,可以通过netstat工具,如下

2. 现在的关键问题是,如何调用该工具,得到这个结果后分析得到我们要的 结果我们可以在之前的PortHelper类型中添加一个方法
public string GetPortList()
{
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "netstat";
info.Arguments = "-na";
info.CreateNoWindow = true;
info.UseShellExecute = false;
info.RedirectStandardOutput = true;
Process p = new Process();
p.StartInfo = info;
p.Start();
p.WaitForExit();
StreamReader reader = p.StandardOutput;
StringBuilder sb = new StringBuilder();
int row = 0;
while (!reader.EndOfStream)
{
string r = reader.ReadLine().Trim();
if (row++ > 3)
{
sb.AppendLine(r);
}
}
return sb.ToString();
}