.NET Framework を使用してすべてのアクティブな TCP 接続を取得するにはどうすればよいですか (管理されていない PE のインポートはありません!)。
私はソケットプログラミングに取り組んでおり、これを確認したいと思います。私の調査では、興味のないアンマネージ DLL ファイルをインポートすることで解決策を見つけました。
純粋なマネージド コードでは不可能であると言うユーザーの数に驚いています...それについて疑問に思っている将来のユーザーのために、私にとってうまくいった回答から詳細を見つけてください:
//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()
してください、素晴らしくて美しいです。