Problem mit NetServerEnum

DaDrivel

Cadet 2nd Year
Registriert
Sep. 2006
Beiträge
27
Hi Community!

Ich möchte alle Rechner im LAN unter WinXP und C++ auflisten. Das klappt soweit mit NetServerEnum auch ganz gut. Nur listet NetServerEnum nur die Rechner einer ganz bestimmten (Netzwerk-)Arbeitsgruppe auf. Da ich nun aber auch die Rechner anderer (außer der Standardarbeitsgruppe, in der mein Rechner ist) Arbeitsgruppen auflisten möchte, müsste ich zuerst alle Arbeitsgruppen auflisten und dann für jede Arbeitsgruppe die Rechner auflisten.
Wisst ihr vielleicht, wie man alle vorhandenen Arbeitsgruppen auflisten kann, oder NetServerEnum (oder andere Funktionen) so hinbiegen kann, dass sie wirklich alle Rechner auflisten ?

Danke für die Antworten :)

DaDrivel
 
hm, wie wärs wenn du's mit nem broadcast versuchst? da müsstest auch alle rechner (zumindest die IPs) rauskriegen..
 
Stimmt... hast recht, sollte eigentlich auch funktionieren.
Gibts dafür auch API-Befehle, weil unter WinXP SP2 gibts ja keine Möglichkeit zur Erstellung von RawSockets, beziehungsweise Erstellung eigener Pakete (die nicht TCP/IP oder UDP sind), oder irre ich mich da?

Danke für die Antwort schon mal :)
 
Also in C++ selbst kannst du sehrwohl Sockets erzeugen!
Ich würd so vorgehen:
- Broadcast Adresse ausfindig machen
- diesen dann anpingen
- schauen welche Hosts geantwortet haben
 
Natürlich kann man normale Sockets erstellen, aber ich meinte, wie gesagt, RawSockets, also Sockets, mit denen man die Möglichkeit hat, z.B. auch ICMP-Pakete (für einen Ping) zu verschicken.
Mit normalen TCP Paketen tut man sich schwer, jemanden anzupingen.

[EDIT]

Ach, nee schmarrn, ich brauch ja gar kein ICMP-Paket. In meinem Fall hab ich auf jedem Client ein Programm am laufen, dass die Anfrage beantworten kann (Also auch normale TCP oder UDP-Pakete).
Danke :)

[/EDIT]
 
Zuletzt bearbeitet:
Ja eben. Aber wie das Socket- / Netzwerkprogrammieren unter C++ jetzt dann wirklich im Detail aussieht kann ich dir auch ned sagen, aber das weißt du vermutlich eh selber, bin selbst eher auf der Java-Seite zu Hause. ;-)
 
Zurück
Oben