AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Wie findet der Client seinen Server?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie findet der Client seinen Server?

Ein Thema von Jumpy · begonnen am 3. Apr 2013 · letzter Beitrag vom 23. Jul 2013
Antwort Antwort
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#1

AW: Wie findet der Client seinen Server?

  Alt 3. Apr 2013, 15:53
Das ganze soll nur innerhalb eines LANs stattfinden, also reicht mir eine einfache Variante.
Bei der "Server broadcasted per UDP"-Variante. Wie oft macht der das? Erzeuge ich nicht so unnötige Netzwerklast?

Broadcasten (über UDP):
... oder die Clients fragen nach, wenn der Server gesucht wird. Dies funktioniert nur in lokalen Netzen ((W)LAN).
Wie würde ich das genau umsetzen? Mit welchen Komponenten? Ich hab meine Client-Server-Geschichten bisher immer mit den Socket-Komponenten gebaut, die bei Delphi dabei sind. Das waren aber immer fälle, wo die IP des Servers bekannt war oder aus einer Datenbank oder Ini gelesen wurden.
Ralph

Geändert von Jumpy ( 3. Apr 2013 um 15:59 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Wie findet der Client seinen Server?

  Alt 3. Apr 2013, 16:07
Das ganze soll nur innerhalb eines LANs stattfinden, also reicht mir eine einfache Variante.
Bei der "Server broadcasted per UDP"-Variante. Wie oft macht der das? Erzeuge ich nicht so unnötige Netzwerklast?
Das ideale Intervall ist natürlich anwendungsabhängig. Der ActiveMQ Server sendet zirka im Sekundentakt, das UDP Paket ist nur wenige Bytes lang. Das wird die Trafficabrechnung kaum erhöhen
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

AW: Wie findet der Client seinen Server?

  Alt 3. Apr 2013, 16:28
Ich würde trotzdem die "Client broadcastet, Server antwortet" Lösung empfehlen.

Zur Umsetzung: Du kannst den TIdUDPServer + TIDUDPClient hernehmen, damit sollte sich was basteln lassen. und für die richtige Kommunikation wäre dann TCP angebracht.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Wie findet der Client seinen Server?

  Alt 3. Apr 2013, 16:50
Ich würde trotzdem die "Client broadcastet, Server antwortet" Lösung empfehlen.
Die Netzwerklast wird damit proportional zur Anzahl Clients steigen. Auch wird der Server entsprechend zur Anzahl Clients entsprechend mehr Last zur Beantwortung der Broadcasts verursachen, während bei Server-Broadcast die Serverlast unabhängig von der Anzahl Clients ist. (Angenommen, wir hätten eine Umgebung mit einer relevanten Anzahl Clients, nicht nur zwei oder drei...). Wo ist der Vorteil gegenüber einem Server-Broadcast?
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.643 Beiträge
 
#5

AW: Wie findet der Client seinen Server?

  Alt 3. Apr 2013, 17:41
Ich finds ja immer wieder erstaunlich, wie oft so ein olles Rad neu erfunden werden soll.

Das ganze Broadcast-Zeug ist zwar prinzipiell sehr einfach, aber der Teufel steckt im Detail (Wahl der Intervalle, die Frage wer pollt und wer antwortet etc., was passiert wenn zwei Clients gleichzeitig im Netz aufploppen - wer aktiviert den Server?).

Die ganze Thematik Service Discovery / ZeroConf (Zero Configuration Networking) ist aber schon in aller Erschöpfung vollumfänglich mehrfach abgenudelt.

Die Grundlegenden Protokolle sind dabei DNS-DS (Apple's Bonjour bzw. ZeroConf) bzw. SLP.
Apple liefert für Bonjour ein SDK mit, so dass man das direkt verwenden kann (gibts auch für Windows), ansonsten gibts auch schon eine komplett von Bonjour unabhängige aber komplett dazu kompatible Implementierung im RemObjects SDK (falls man da eine Lizenz zur Hand hat).

Ansonsten hat's bei Torry noch ne Komponente um ein OpenSource SLP-Library anzusprechen: http://www.torry.net/authorsmore.php?id=4244

Hier ist die eindeutige Devise, sich auf die Schultern von Riesen zu stellen und das zu verwenden was es schon gibt, und nicht schon bei der Konzeption vorneweg ein neues eckiges Rad hinzustellen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: Wie findet der Client seinen Server?

  Alt 4. Apr 2013, 09:01
Hier ist die eindeutige Devise, sich auf die Schultern von Riesen zu stellen und das zu verwenden was es schon gibt, und nicht schon bei der Konzeption vorneweg ein neues eckiges Rad hinzustellen.
Außer, wann will dazu lernen. Dann würde ich erst selbst basteln, bis es anfängt, weh zu tun und dann die ausgereifte Lösung verwenden.

Im professionellen Umfeld hast Du natürlich 100% Recht: Keine selbstgebastelten Frickellösungen.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.996 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wie findet der Client seinen Server?

  Alt 20. Jul 2013, 12:17
Ich finds ja immer wieder erstaunlich, wie oft so ein olles Rad neu erfunden werden soll.

Das ganze Broadcast-Zeug ist zwar prinzipiell sehr einfach, aber der Teufel steckt im Detail (Wahl der Intervalle, die Frage wer pollt und wer antwortet etc., was passiert wenn zwei Clients gleichzeitig im Netz aufploppen - wer aktiviert den Server?).

Die ganze Thematik Service Discovery / ZeroConf (Zero Configuration Networking) ist aber schon in aller Erschöpfung vollumfänglich mehrfach abgenudelt.

Die Grundlegenden Protokolle sind dabei DNS-DS (Apple's Bonjour bzw. ZeroConf) bzw. SLP.
Apple liefert für Bonjour ein SDK mit, so dass man das direkt verwenden kann (gibts auch für Windows), ansonsten gibts auch schon eine komplett von Bonjour unabhängige aber komplett dazu kompatible Implementierung im RemObjects SDK (falls man da eine Lizenz zur Hand hat).

Ansonsten hat's bei Torry noch ne Komponente um ein OpenSource SLP-Library anzusprechen: http://www.torry.net/authorsmore.php?id=4244

Hier ist die eindeutige Devise, sich auf die Schultern von Riesen zu stellen und das zu verwenden was es schon gibt, und nicht schon bei der Konzeption vorneweg ein neues eckiges Rad hinzustellen.
Ich habe eine Client Server Anwendung. Damit die (ziemlich fetten)Clients Funktionieren müssen sie eine Datenbankverbindung (Server, Port, Datenbank, Anmeldeart, User, Passwort) und einen UNC Pfad kennen.
Server Umzüge und Installationen sollen an Client-Rechnern möglichst keine Konfiguration nach sich ziehen. Es sind alles reine Delphi Anwendungen.
Was wäre da besser Bonjour/Zeroconf oder OpenSlp oder UPnP?
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (20. Jul 2013 um 13:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Wie findet der Client seinen Server?

  Alt 20. Jul 2013, 13:54
Ich habe eine Client Server Anwendung. Damit die (ziemlich fetten)Clients Funktionieren müssen sie eine Datenbankverbindung (Server, Port, Datenbank, Anmeldeart, User, Passwort) und einen UNC Pfad kennen.
Server Umzüge und Installationen sollen an Client-Rechnern möglichst keine Konfiguration nach sich ziehen. Es sind alles reine Delphi Anwendungen.
Was wäre da besser Bonjour/Zeroconf oder OpenSlp oder UPnP?
Wenn die Client nicht schmalspurig angebunden sind: Was spricht dagegen die Exe's vom Fileserver zu starten? Dort hast du eine Config-Datei die geändert wird.
Ansonsten biete Windows genügend Mittel Änderungen an einer Configdatei automatisch (wie auch ganze installationen) zu verteilen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz