PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rechner im Netzwerk finden und anzeigen, auf denen ein best. Dienst läuft



axeljaeger
10-08-2005, 22:37
Hallo,
ich würde gerne eine Anwendung mit folgender Funktion ausstatten:
In einem Netzwerk laufen auf mehreren Computern Insanzen eines Programmes. Diese sollen sich gegenseitig sehen und ggf. miteinenander verbinden.

Bei iTunes gibt es etwa das Feature, dass man Musik von anderleuts Computern hören kann, wenn diese über iTunes freigegeben wurde.

Bei Apple heist es immer, dieses basiere alles auf Bonjour, einer tollen Netzwerktechnik, ZeroConf oder so. Nun gab es ja Vergleichbares schon bei Windows 95 in der Netzwerkumgebung, auch wenn das etwas holprig ist mit anderen Rechnern anzeigen.

Wie implementiert man denn sowas? Ich kann mir nicht vorstellen, dass da eine For-Schleife alle möglichen IP-Adressen im Subnetz durchprobiert.

Vielen Dank für Tipps und Hinweise.

SeeksTheMoon
10-08-2005, 23:23
Du kannst UDP-Broadcasts machen und die Rechner bei ankommenden Paketen reagieren oder etwas anbieten lassen.
Das sollte man aber nicht machen wenn es viele Rechner werden sollen, sonst lähmen die ganzen Broadcasts das Netzwerk.

Windows macht auch sowas, deshalb können ein paar Rechner ganz schön viel Netzwerkverkehr erzeugen.

Liegt aber auch am Protokoll, das man sich ausarbeitet, man muss ja nicht ständig alle Rechner vollsenden, sondern macht z.B. zuerst einen Broadcast, merkt sich die IPs von denen eine Antwort kam und kann dann mit diesen Rechnern eine Verbindung aufbauen.

anda_skoa
11-08-2005, 11:49
Obwohl es vermutlich nicht so sinnvoll ist sowas selber neu zu implementieren, es sei denn aus Interesse.

Oder wenn etwas anderes gegen die Verwendung der existierenden Service Discovery Implementationen spricht.

Ciao,
_