Abbiamo già visto in passato come possa risultare utile avere informazioni relative al network per poter prendere decisioni di business. Ad esempio, avendo poca batteria e collegati in 4G potrebbe aver poco senso caricare (o scaricare) grandi quantità di dati, oppure si potrebbe voler limitare la qualità di streaming per ridurre il carico sulla CPU e così via. Sempre in relazione a questi possibili miglioramenti di performance, può risultare utile sapere se l'hotspot del device è attualmente in uso.
private void ListConnectedClients(ConnectionProfile connectionProfile) { var tetheringManager = Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager.CreateFromConnectionProfile(connectionProfile); var currentClients = tetheringManager.GetTetheringClients(); foreach (var client in currentClients) { System.Debug.WriteLine($"The client connected is ${client.HostNames[0].DisplayName} with ${client.MacAddress} as MAC address"); } }
Come si può notare dall'esempio, facciamo uso della classe NetworkOperatorTetheringManager per avere informazioni sul tethering a partire da un connection profile già esistente. A questo punto ci sarà sufficiente chiamare la property ClientCount per avere una prima informazione sommaria del numero di device connessi al dispositivo primario, oppure sfruttare la funzione GetTetheringClients che ci enumera tutti i dispositivi fisici, tramite la quale potremo recuperare informazioni relative all'hostname piuttosto che al suo MAC address.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare l'output cache di ASP.NET Core 7 con i controller
Ottenere il riferimento alla finestra che ha aperto un'altra finestra con HTML5 e JavaScript
Effettuare test di carico con Azure Load Testing
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Condividere i workflow tra più repository in GitHub
Gestire condizioni complesse in JavaScript
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Modernizzare le applicazioni WPF e Windows Forms con Blazor
Generare file PDF da Blazor WebAssembly con iText
Effettuare il pull di git LFS in un workflow di GitHub
Pubblicare la documentazione di un repository con GitHub Pages
Migrare un progetto ASP.NET Core da .NET 6 a .NET 7