当前位置: 主页 > 建站知识

leyu·乐鱼(中国)体育官方网站 重置网络连接

发布时间:2024-06-07 06:02   浏览次数: 次   作者:leyu体育

leyu·乐鱼(中国)体育官方网站

如何使用C#/.NET重置网络连接是最好的方法?

我们公司有几台机器分别通过各种方式(3G、wifi、以太网)与客户连接,有时候(特别是在3G情况下)会向Windows报告它们仍然连接着,但实际上并没有连接。我有一种检查连接是否真正活跃的方法,但是我在重置它们方面遇到了问题。以下是一个问题:

var searcher = new ManagementObjectSearcher("select * from Win32_NetworkAdapter");
var managementObject = searcher.Get();
foreach (ManagementObject obj in managementObject)
{
    var name = obj.Properties["Name"].Value.ToString();
    Console.WriteLine(name);
    obj.InvokeMethod("Disable", null);
    obj.InvokeMethod("Enable", null);
}

如您所见,这将通过所有网络适配器并重置它们,而我不想这样做。此外leyu·乐鱼(中国)体育官方网站,一些适配器不接受null参数。

我可以使用以下代码获取我想要的NetworkInterface对象:

var interfaces = NetworkInterface.GetAllNetworkInterfaces().Where(ni => ni.IsReceiveOnly == false && 
            ni.OperationalStatus == OperationalStatus.Up && ni.NetworkInterfaceType != NetworkInterfaceType.Loopback);

但是NetworkInterface类似乎没有Start(),Stop(),Reset()等方法。我该怎么办?

xml地图|txt地图 |html地图