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

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

Сообщение Anonymous »

Привет, я хочу создать утилиту, позволяющую конечным пользователям копировать данные с нашего сервера на их мобильное устройство
, но хотел бы ограничить это для запуска для Wi -Fi и использования кабеля Ethernet
и. Если они используют 5G в полевых условиях, то утилита должна обнаружить это, а не делать копию, есть ли у кого -нибудь какие -либо идеи, если это возможно, используя классы .NET, например, System.net.networkinformation.networkInterface < /p>
Ниже я пробовал до сих пор, проверяя скорость сети. В идеале я хотел бы предотвратить копию через 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#»