Класс NetworkInterface Divination между соединениями 5G и Wi -Fi и EthernetC#

Место общения программистов C#
Ответить
Anonymous
 Класс NetworkInterface Divination между соединениями 5G и Wi -Fi и Ethernet

Сообщение Anonymous »

Я хочу создать утилиту, позволяющую конечным пользователям копировать данные с нашего сервера на их мобильное устройство, но хотел бы ограничить это для запуска для Wi -Fi и использования только кабеля Ethernet, то есть, если они используют 5G в полевых условиях, то утилита должна обнаружить это и не делать копию, есть ли у кого -нибудь идеи, если это выполнимо, используя классы .NET, например. System.net.networkinformation.networkInterface . Или с помощью сценария PowerShell? В идеале я хотел бы предотвратить копию через 5G, так как это может быть довольно дорого < /p>
private bool IsNetworkAvailable(long minimumSpeed)
{
// If not connected to the network, exit
if (!NetworkInterface.GetIsNetworkAvailable())
return false;

try
{
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
// discard because of standard reasons (aLLOW ON
if ((ni.OperationalStatus == OperationalStatus.Down) ||
(ni.NetworkInterfaceType == NetworkInterfaceType.Loopback) ||
(ni.NetworkInterfaceType == NetworkInterfaceType.Tunnel) ||
(ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
)
continue;

// this allow to filter modems, serial, etc.
if (ni.Speed < minimumSpeed)
continue;

// discard virtual cards (virtual box, virtual pc, etc.)
if ((ni.Description.IndexOf("virtual", StringComparison.OrdinalIgnoreCase) >= 0) ||
(ni.Name.IndexOf("virtual", StringComparison.OrdinalIgnoreCase) >= 0))
continue;

// discard "Microsoft Loopback Adapter", it will not show as NetworkInterfaceType.Loopback but as Ethernet Card.
if (ni.Description.Equals("Microsoft Loopback Adapter", StringComparison.OrdinalIgnoreCase))
continue;

nicID = ni.Id;

return true;
}
}
catch (System.Exception ex)
{
_log.WriteMessage("Error in getting network with min speed", "ERROR", ex);
}

return false;
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... connection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»