Detecção de conexão e velocidade da rede celular vs. 802,11 e Ethernet? C # .Net
-
23-08-2019 - |
Pergunta
Eu estou trabalhando em um programa que será usado em dispositivos móveis (Full instalação do Windows) que pode ter conectividade 3G. Se o dispositivo em particular tem conectividade 3G, gostaríamos de tirar proveito dela. No entanto, o programa deve ser capaz de priorizar a comunicação com base no que tipo de conexão e velocidade estão disponíveis atualmente.
Eu sou capaz de obter uma lista de interfaces de rede usando System.Net.NetworkInformation.NetworkInterface, mas existe alguma boa maneira de ver se a interface é dados da célula, sem fio ou ethernet comum, bem como a velocidade disponível ( particularmente no caso de dados de celular)?
Solução
Isto irá listar todas as conexões de rede que estão atualmente para cima. Deve ser um lugar para começar.
var interfaces = NetworkInterface.GetAllNetworkInterfaces()
.Where(n => n.OperationalStatus == OperationalStatus.Up)
.Select(n => new { Nic = n, Speed = n.Speed });