c# 获取当前应用程序网络连接
时间: 2023-06-30 22:24:39 浏览: 228
可以使用 C# 中的 `TcpConnectionInformation` 和 `IPGlobalProperties` 类来获取当前应用程序的网络连接信息。
以下是一个获取当前应用程序的 TCP 连接信息的示例代码:
```csharp
using System.Net.NetworkInformation;
// 获取当前应用程序的 TCP 连接信息
IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] tcpConnections = ipGlobalProperties.GetActiveTcpConnections();
foreach (TcpConnectionInformation tcpConnection in tcpConnections)
{
Console.WriteLine($"Local endpoint: {tcpConnection.LocalEndPoint}");
Console.WriteLine($"Remote endpoint: {tcpConnection.RemoteEndPoint}");
Console.WriteLine($"State: {tcpConnection.State}");
}
```
以下是一个获取当前应用程序的 UDP 连接信息的示例代码:
```csharp
using System.Net.NetworkInformation;
// 获取当前应用程序的 UDP 连接信息
IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] udpListeners = ipGlobalProperties.GetActiveUdpListeners();
foreach (IPEndPoint udpListener in udpListeners)
{
Console.WriteLine($"Local endpoint: {udpListener}");
}
```
在上面的示例代码中,我们首先使用 `IPGlobalProperties.GetIPGlobalProperties()` 方法获取一个 `IPGlobalProperties` 对象,然后使用该对象的 `GetActiveTcpConnections()` 和 `GetActiveUdpListeners()` 方法分别获取当前应用程序的 TCP 和 UDP 连接信息。最后,我们可以遍历连接信息并输出相关信息。
请注意,为了使用 `IPGlobalProperties` 类,您需要在代码中包含 `System.Net.NetworkInformation` 命名空间。
阅读全文