Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: mit indy nach tcp servern im netz suchen?

  Alt 14. Jan 2010, 23:02
Das Grundprinzip geht so:
Jeder Rechner, der Server sein möchte sendet in regelmässigen Abständen ein UDP-Datenpaket an alle.
Das nennt man einen Broadcast.
In dem Datenpaket verschickt er eine Kennung, seinen Namen, seine IP und Portnr
Der Inhalt des Datenpakets könnte z.B. so aussehen:
Code:
INFO|Mike's Chat Server|192.168.0.55|7085
Die potentiellen Clients wissen nun, dass es einen Server mit dem Namen "Mike's Chat Server" gibt und man ihn über TCP/IP
auf der IP-Adresse 192.168.0.55 auf dem Port 7085 erreichen kann.

Aber die Clients wollen nicht so lange warten, bis ein Server sich meldet.
Deshalb schicken sie selbst ein UDP-Datenpaket:
Code:
SEARCH|clientname|192.168.0.29
Alle Server antworten darauf mit ihrem INFO-Datenpaket.
Der Client empfängt ein oder mehrere INFO-Pakete und kann sich danach mit einem oder mehreren Servern verbinden.
fork me on Github
  Mit Zitat antworten Zitat