DotNet Lösung - Computer im Netzwerk auflisten?
-
Hallo, folgendes Problem habe ich gerade.
Vor einiger Zeit hab ich eine Anwendung geschrieben, die alle Rechner in einem Netzwerk auflistet. - Diese war in ich will nicht sagen reinem C++ sondern eher mit den VCL Bibliotheken.Nun hatte ich vor das ganze in .Net zu lösen. Mein erstes Problem bzw. meine erste Frage wäre, gibt es .Net-spezifische Funktionen mit denen ich mir die Computer anzeigen lassen kann? - Google zeigt mir zwar viel aber nichts was irgendwie im entferntesten helfen würde. Auch die Suche hier liefert kein Ergebnis.
Klar, ich könnt eine Klasse schreiben, die alle IP-Adressen in einem bestimmten Bereich anpingt, aber das ist nicht Sinn der Übung.
Falls jemand eine Idee hat, würde ich mich über Tipps und Vorschläge freuen.
-
Broadcasts ... und alle Rechnern müssen auf den Broadcast antworten
-
Also sozusagen den Broadcast senden & die IP-Adressen, von denen Antworten kommen in einer Liste speichern, da ich ja noch die Rechnernamen ermitteln will und was sogar noch suoer wäre dazu das Betriebssystem was drauf läuft (sofern es microsoft systeme sind geht das ja.)
Werds mir mal ansehn wobei das ja keine reine DotNet Lösung wäre.
-
inflames2k schrieb:
Also sozusagen den Broadcast senden & die IP-Adressen, von denen Antworten kommen in einer Liste speichern,
Du musst aber aufpassen ... der Broadcast kommt auch gleich wieder bei Dir selber an ... außerdem sollten die Rechner verschieden lange Warten - damit sich die Antworten nicht überschneiden ... und den Broadcast evt. mehrmals absenden
da ich ja noch die Rechnernamen ermitteln will und was sogar noch super wäre dazu das Betriebssystem was drauf läuft
das kannst Du alles in der Antwort mit schicken ... das Antwortpaket sollte aber nicht zu groß werden
(sofern es microsoft systeme sind geht das ja.)
wenn man Windows höflich fragt, dann antwortet es auch immer höflich
Werds mir mal ansehn wobei das ja keine reine DotNet Lösung wäre.
wieso nicht? ... kannst Du alles mit dem Framework lösen
hand, mogel
-
Ähm ja ok. Ich hatte mir da irgendwo im Kopf etwas verhaun.
Bei einer Broadcastanfrage ist die Sache, wie müsste die aussehen? Vorallem dann, wenn ich ganz bestimmte Sachen zurück haben will?
Und müsste ich die Adresse selbst berechnen oder ist eventuell schon eine vordefinierte Funktion vorhanden die die Broadcast Adresse ermittelt?
-
inflames2k schrieb:
Bei einer Broadcastanfrage ist die Sache, wie müsste die aussehen?
das kannst Du Dir aussuchen ... ist ja Dein Protokoll
Vorallem dann, wenn ich ganz bestimmte Sachen zurück haben will?
wie geschrieben - Dein Protokoll - Deine Wünsche - Deine Lösung(en) ... das kannst Du alles ausknobeln
Und müsste ich die Adresse selbst berechnen oder ist eventuell schon eine vordefinierte Funktion vorhanden die die Broadcast Adresse ermittelt?
IPEndPoint und UdpClient ... mehr brauchst Du nicht und die liefern Dir auch die entsprechenden Infos
hand, mogel
-
// Sorry ich halt mich selbst für des lesens nicht mehr mächtig.
-
dann kannst Du nur durch pingen ... aber auch da muss nicht jeder Rechner auf denPing antworten ... evt. helfen Dir die üblichen Windows-Protokolle für Dateifreigabe etc.
-
Hab das nun mit der Pingklasse gemacht und lass mir danach nur noch den Hostnamen anhan der IP ermitteln.
Was mich jetzt gerade interessiert, wie könnte ich am besten genau den Netzwerkbereich ermitteln, in dem ich bin, also Beispielsweise: 192.168.0.0 bis 192.168.0.255 damit nicht extra eingestellt werden muss/kann von wo an bis wohin gescannt wird.
Hat da eventuell noch jemand eine Idee?