Hallo,
Zitat von
S - tefano:
Höhrt sich ja recht interessant an, aber damit kenn ich mich kaum aus...
Kannst du mir dazu n bissken mehr erzählen?
Ich verwende dazu die Internet Component Suite von
http://www.rtfm.be/fpiette/indexuk.htm. Sollte aber auch mit den nativen Delphi Komponenten gehen. Bei ICS ist auch ein UDP-Serve rund Client Beispiel enthalten, der auch mit Broadcasts arbeitet (hab in mir zwar noch nich angesehen...).
Zitat von
S - tefano:
Kann sich ein Client mit einem Server z.B. auf des Servers' Port 6005 oder so verbinden, wenn auf dem Rechner des Clients bereits eine andere Instanz auf selbigem Port eine Serverconnection mit einem anderen Clientrechner hat? Kann ich mir ja eigentlich nich vorstellen, weil sich dann ja auf dem Rechner dann zwei Verbindungen auf einem Port überschneiden würden.
Ganz einfach, der Port 6005 ist im Listen mode, sobald eine neue Verbindung akzeptiert wird, wird ein neuer Port dynamisch zugewiesen und für die Verbindung verwendet. Auf 6005 können dann weitere verbindungen angenommen werden. Die Ports der ClientSockets sind deshalb vollkommen egal. Du kannst sie ja eh nicht Verwenden, da auf denen bereits eine Verbindung besteht.
Wenn dein Proggie nur im LAN funktionieren soll und es auch nicht so schlimm ist wenn mal ein Packet verlohren geht (UDP arbeitet Verbindungslos und merkt deshalb nicht, wenn Packet eher oder garnich ankommen), dann würde ich nur UDP verwenden. Das macht das ganze nämlich sau einfach: du brauchst ja nur alles per Broadcasts auf nem einheitlichen Port senden (na OK, besser ist wohl Multicast, da kann man Packet mehrere Ziele geben, denn bei Broadcast wird ja jeder Rechner genervt und evtl. noch irgendwas in weiter lokale Segmente geroutet. Für jeden Rechner extra Packete ist auch nicht gerade ressourcensparend und erzeugt unötig viel Traffic.)
Thomas