如何使用.NET Framework获得所有 Activity 的TCP连接(不进行非托管PE导入!)?
我正在进行套接字编程,并想检查一下。在我的研究中,我通过导入一个我不感兴趣的非托管DLL文件找到了解决方案。
最佳答案
令我惊讶的是,有如此之多的用户告诉我使用纯托管代码是不可能的...对于那些对此感到疑惑的 future 用户,请从对我来说很好的答案中找到详细信息:
//Don't forget this:
using System.Net.NetworkInformation;
public static void ShowActiveTcpConnections()
{
Console.WriteLine("Active TCP Connections");
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] connections = properties.GetActiveTcpConnections();
foreach (TcpConnectionInformation c in connections)
{
Console.WriteLine("{0} <==> {1}",
c.LocalEndPoint.ToString(),
c.RemoteEndPoint.ToString());
}
}
并调用
ShowActiveTcpConnections()
列出它,很棒又漂亮。资料来源:IPGlobalProperties.GetActiveTcpConnections Method(MSDN)