Frage

Meine app öffnet eine TCP-Socket und wartet auf Daten von anderen Benutzern im Netzwerk der gleiche Anwendung. Zur gleichen Zeit, kann es Daten zu einem bestimmten Host Broadcast im Netzwerk.

Zur Zeit muß ich manuell die IP-Adresse des Ziel-Host eingeben, um Daten zu senden. Ich möchte eine Liste aller Hosts zu finden, um der Lage sein, die Anwendung ausgeführt und haben die Benutzer auswählen, welche Host Broadcast Daten an.

Ist Bonjour / ZeroConf der richtige Weg zu gehen, dies zu erreichen? (Ich würde es gerne Cross-Plattform-OSX / Win / * Nix)

War es hilfreich?

Lösung

  

kann er Daten an einen bestimmten Host Broadcast im Netzwerk

Dies ist eine nicht-sequitur.

Ich bin der Annahme, dass Sie nicht wirklich mittlere Sendung, Sie meinen Unicast oder "send"?

  

Ist Bonjour / ZeroConf der richtige Weg zu gehen, um diese zu erreichen?

Das hängt wirklich von Ihrer Zielumgebung und was Ihre Anwendung sollte tun.

Wie Ignacio weist darauf hin, müssen Sie die Apple-Software unter Windows für Zeroconf / mDNS zur Arbeit im Moment installieren.

Dies könnte für Small Office / Home Gebrauch geeignet sein.


Allerdings größere Netzwerke können Schicht-2-Multicast für eine Vielzahl von Gründen deaktiviert, an welcher Stelle Ihrer Anwendung in Schwierigkeiten sein könnte.

Wenn Sie es an die Arbeit in der Unternehmensumgebung wollen, dann einige Konfiguration erforderlich ist, aber das muss nicht (in den App-Client-Instanzen) am Rande zu tun.

Könnte über eine DHCP-Option oder durch DNS-Service-Aufzeichnungen .. in diesen Fällen würden Sie möglicherweise einen abfragbaren Server schreiben aktive Clients verfolgen .. ähnlich wie ein BitTorrent-Tracker.

Zwei Dinge zu beachten, während der vernetzten App Gestaltung:

  • gäbe es Grund auch immer mehr als eine „Installation“ Ihre Anwendung auf einem Netzwerk ausgeführt werden?
  • Denken Sie immer an die Auswirkungen der Versionsverwaltung: Ein Kunde mehr aktuell ist als der andere, können sie immer noch miteinander oder zumindest reden nicht ordnungsgemäß

Andere Tipps

Zeroconf / DNS-SD ist eine hervorragende Idee, in diesem Fall. Es wird von Bonjour auf O X und Windows zur Verfügung gestellt (aber muß separat oder als Teil eines Apple-Produkt unter Windows installiert werden) und durch Avahi auf FOSS * nichts.

Ich denke, dass ZeroConf ein sehr guter Start ist. Sie können feststellen, dieses Dokument nützlich.

Ich habe eine Liste auf einer Webseite, schön, wenn Sie Internet-Kommunikation benötigen.

<dl_service updated="2010-12-03 11:55:40+01:00">
 <client name="internal" ip="10.0.23.234" external_ip="1.1.1.1"/> 
 <client name="bigone" ip="2.2.2.2" external_ip="2.2.2.2">
  <messsage type="connect" from="Bigone" to="internal" />
 </client> 
</dl_service>

war meine erste Idee Firewall Stanzen hinzuzufügen und so weiter, aber ich kann einfach nicht zu viele der Hosts gestört werden, wenn mit externen IP-Adressen für sie ein Problem sein ..

Aber ich wirklich Zeroconf empfehlen, zumindest wenn man Linux + MacOSX verwenden, wissen überhaupt nicht zu Windows.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top