![]() |
Client-/ServerSocket Port-problem
hi! ich wollt mir grad ein kleines tool schreiben, mit TServer-und TClientSocket. das ziel ist folgendes:
ein formular hat je eine von den beiden sockets; Server.Active=true Das programm wird 2x gestartet, per Button kann man den Client mit dem Server verbinden - und da beginnt das problem: wie muss ich dir ports vergeben? ich möcht ja nicht, dass sich das ClientSocket von Prog1 mit dem ServerSocket von Prog1 verbindet, sondern mit dem von Prog2!!! Aber wie soll ich die ports vergeben?? ich hab mir gedacht, dem Client geb ich den Port 300(z.B.), und dem Server 301 aber nun haben auch beim 2. Programmstart Client.Port=300; Server.Port=301, obwohl es umgekehrt sein müsste! wie kann ich das machen, dass ich weis, wie ich die ports vergeben soll??? |
Re: Client-/ServerSocket Port-problem
hmmm...
client1 soll mit server2 und clinet2 mit server1 connnetcten? Der prog1 server braucht auf jedenfall nen anderen port als der prog2 server sonst kanns gar nicht funzen , aber das problem ist jetzt wie der client1 den port von server2 bekommt. Ich würd beim starten des ersten ne datei erstellen in der steht welche ports verwendet werden und das zweite Prog diese datei einlesen lassen so das es sich dementsprechen konfigurieren kann. |
Re: Client-/ServerSocket Port-problem
hiho...
was für ein progi bastesls du denn ?? ( wenn ich fragen darf ) ... irgendwie klingt es unsinnig das sich zwei progs auf deinem rechner über das inet gegenseitig connecten sollen ... normallerweise benutzt man TServerSocket und client zur komunikaton von 2 oder mehreren rechner :wiejetzt: |
Re: Client-/ServerSocket Port-problem
Ja, ich finds auch n bisschen komisch, zwischen zwei Programmen auf dem selben Rechner per TCP/IP Daten auszutauschen.
Aber je nach dem wofür du es brauchst... Von daher ist meine nachfolgende Aussage evtl. unberechtigt, aber ebenfalls finde ich es nicht nötig dass du zwischen den Programmen zwei Verbindungen herstellst... (also ein je ein Server und je ein Client, beides mit dem Gegenpart auf dem anderen Prog verbunden) denn der Client kann genau so Daten zum Server schicken und empfangen wie der Server zum Client... Wenn die Programme wirklich nur auf ein und demselben Rechner Daten austauschen sollen, würde ich dir ![]() Bis dann, S - tefano |
Re: Client-/ServerSocket Port-problem
ich probier 'nen chat zu machen, wo zwischen 2 Leuten geredet wird, d.h., man muss sich von beiden programmen zum anderen verbinden können -> ich brauch auf dem formular 1 Server und 1 Client! oder hat jemand eine andere idee, wie man das machen könnte?
|
Re: Client-/ServerSocket Port-problem
Jeder Server bekommt einen festen Port. Die Clients verbinden sich nun mit diesem. Beispiel:
Anwendung 1: Server: 5000 Client: Verbindung zu Port 5001 Anwendung 2: Server: 5001 Client: Verbindung zu Port 5000 Die Local-Ports der Clients werden automatisch vergeben, so dass du dir um diese keine Sorgen machen musst. |
Re: Client-/ServerSocket Port-problem
@Chewie:
Und zu welchem Server verbindet sich dann der erste Client? Der zweite Server ist ja auf Port 5000... Also wenns kein TippFehler war, dann habe ich irgendwas noch nicht verstanden, in dem Fall sage ich: Erklärs mir bitte.... Bis dann, S - tefano |
Re: Client-/ServerSocket Port-problem
:oops:
Mist, war ein Tippfehler. :wall: Jetzt müsstes oben stimmen. |
Re: Client-/ServerSocket Port-problem
Damit ich noch zum Thema komme:
Dieses Problem, dass die Server auf verschiedenen Ports laufen müssen tritt aber doch nur auf, wenn beide Programme auf demselben Rechner laufen... Sonst, wenn auf jedem Rechner das Programm nur als eine Instanz läuft, kann ja jeder Server auf Port 5000 (oder so) sein, und jeder Client sich mit diesem Port verbinden. Zwischen den einzelnen Rechnern unterscheiden geht ja dann über die IPs. Oder hab ich an dem Prinzip, das du anstrebst was falsch verstanden? &@Chewie: Shit happens Bis dann, S - tefano |
Re: Client-/ServerSocket Port-problem
Richtig. Die Server müssen eindeutig identfizierbar sein, also beim Adresse-Port-Paar muss mind. ein Wert unterschiedlich sein.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 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