Laden...

Verbindungsdaten/-informationen einer Mobilfunkverbindung abfragen

Erstellt von mar.k vor 9 Jahren Letzter Beitrag vor 8 Jahren 3.461 Views
M
mar.k Themenstarter:in
4 Beiträge seit 2015
vor 9 Jahren
Verbindungsdaten/-informationen einer Mobilfunkverbindung abfragen

Hallo zusammen,

ich soll eine bereits bestehende C#-Anwendung anpassen und um neue Funktionen ergänzen. Unter anderem soll auch eine autom. Synchronisierung der Daten der Anwendung erfolgen.
Die C#-Anwendung soll auf einem Tablet mit Windows 8.1 (Vollversion von Windows 8.1, keine abgespeckte RM-Variante) lauffähig sein. Das Tablet hat ein eingebautes WWAN-Modul, um sich unterwegs mit dem Internet über das Mobilfunknetzwerk zu verbinden.

Der größte Teil der Anpassung ist erledigt, es geht hier jetzt nur um die Synchronisierung besser gesagt, um die Feststellung, ob die Synchronisierung zu einem bestimmten Zeitpunkt machbar ist. (Wenn zum Beispiel nur eine langsame Verbindung zu Verfügung steht, sollte keine Synchronisierung stattfinden und diese verschoben werden, da die Sync dann zulange dauern würde.)

Um das herauszufinden, bräuchte ich grundlegende Informationen zu der Netzwerkverbindung (Mobilfunknetz), die mir Windows zwar anzeigen kann, aber ich bräuchte diese Informationen innerhalb meiner Anwendung.
Konkret geht es um den Netzwerktyp, also mit welchem der verschiedenen Mobilfunknetzwerke das Tablet verbunden ist (GSM, EDGE, UMTS oder HDSPA), um hier grob abschätzen zu können, ob eine Sync gerade machbar ist. Die Signalstäre würde ich als zweiten Faktor mit einbeziehen.

Beispiel: Wenn nur eine GSM- oder EDGE-Verbindung zu Verfügung steht, ist die Sync nicht machbar bzw. nicht sinnvoll, dagegen bei einer UMTS- oder HDSPA-Verbindung schon.

Windows listet diese Infos in der Netzwerkübersicht. (siehe Screenshot)
Nur wie frage ich diese Daten in der C#-Anwendung ab, gibt es passende DotNET-Klassen, die diese Infos liefern können Oder hat Windows-8 eine passende API. Das sind doch eigentl. grundlegende Informationen, die m.M. nach mehrere Anwendungen und Apps abfragen (müssten) und deswegen geläufig sein müssten (gerade die Mobile Apps für Windows Phone)

mfG
mar.k

2.760 Beiträge seit 2006
vor 9 Jahren

Servus!

Sollte über WMI machbar sein: WMI Get network interface configuration

M
mar.k Themenstarter:in
4 Beiträge seit 2015
vor 8 Jahren

Danke für Deine Antwort.
Ich habe den Link zur WMI-Klasse angesehen, konnte dort aber nicht das passende Feld finden. Durch ein WMI-Tool (WMI Explorer) habe ich mir noch mehr Klassen angesehen.
Die Klasse MSNdis_80211_ReceivedSignalStrength kann zwar die Signalstärke anzeigen, aber nur von WLAN-Adaptern, nicht vom UMTS-/3G-Adapter.
Gibt es den keine Möglichkeit diese Daten (Signalstärke/Netzwerktyp) einfach abzufragen, schließlich zeigt mir Windows die Daten ja auch an.

(Sorry für meine verspätete Antwort.)

P
1.090 Beiträge seit 2011
vor 8 Jahren

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

M
mar.k Themenstarter:in
4 Beiträge seit 2015
vor 8 Jahren

In dem MSDN-Artikel wird die Klasse MSNdis_80211_ReceivedSignalStrength
genutzt. Wie ich oben schon geschrieben habe, funktioniert die Klasse nur für WLAN/WiFi-Verbindungen.
Bei aktiver UMTS-Verbindung und ausgeschaltetem WLAN-Adapter wird von dieser Klasse kein Wert zurückgegeben.

M
mar.k Themenstarter:in
4 Beiträge seit 2015
vor 8 Jahren

gibt's keine weiteren Ideen?

Leider kenne ich mich mit WMI nicht sonderlich gut aus, habe mir aber beide Links angesehen und alle WMI-Properties abgefragt.
Die "MSNdis_80211_ReceivedSignalStrength" zeigt mir definitiv nur für WLAN-Verbindungen einen Wert an, bei Mobilfunkverbindung nicht.

Die Zahl 80211 im Property-Namen deutet vermutlich auf den IEEE-Standard (IEEE_802.11) hin.
Laut Wikipedia ist IEEE_802.11 eine andere Bezeichnung für WLAN.
IEEE 802.11

2.760 Beiträge seit 2006
vor 8 Jahren

Hallo mar.k,

habe noch ein bisschen gewühlt und folgendes "Cheat-Sheet" gefunden welches Dich weiterbringen sollte: How to write managed code that uses the mobile broadband API.

Hier die API-Übersicht: Mobile Broadband API Interfaces

Im Speziellen für die Signalstärke: IMbnSignal interface

Dazu gibts hier auch noch direkt ein Snippet: Snippet: Get signal strength

Ich denke das sollte Dich erstmal weiter bringen. Scheint wohl auch alles ohne WMI zu gehen (bzw. gar nicht mit der WMI..) Wollte Dich nicht auf die falsche Fährte bringen, bislang konnte ich immer alle Net-Infos aus der WMI bekommen, die Zeiten scheinen sich zu ändern...

Gruß,
jaensen