Client/Server
-
Hallo zusammen,
Ich möchte mal die Situation kurz Schildern.
Ich habe zwei Prozesse die auf unterschiedlichen Rechnern ausgeführt werden. Sie sollen dabei miteinander kommunizieren das ich mit Client/Server überwinde.
Der Knackpunkt der ganze Sache ist, dass einer der Prozesse, sagen wir Prozess2, Daten von Prozess1 nehmen soll und weiterlaufen soll. Aber stattdessen muss Prozess1 auf Prozess2 warten bis der die modifizierten Daten wieder zurück gibt. Ich möchte das Ganze mit blockierden Sockets machen.Erstmal setzte ich Prozess2 als Server. Der wartet nun auf Daten von Prozess eins. Anschließend verbindet sich Prozess1 als Client, und versetzt sich nach Datenaustausch in die Serverposition auf einen anderen Port.
Ich habe das Problem, dass ich mit Prozess2 nicht mehr mich verlinken kann. Er versucht zwar als Client Verbindung aufzubauen scheitert daran und geht wieder als Server zu warte Position und somit entsteht ein Deadlock!
Wie kann ich dies abfangen? Oder besser wie kann man dies machen?Sorry für die irritierende Schreibweise!
-
Warum willst du zwei getrennte Verbindungen herstellen? Du kannst sowohl als Server als auch als Client senden und empfangen!
-
Ist mir schon klar. Nur die Frage ist die, ob es möglich wäre die Socketverbindung beizubehalten aber trotzdem dabei Prozess2 auszuführen. Ich werde mal versuchen die erste Kommunikation nicht zu beenden und so Daten auszutauschen. Mal schauen obs klappt!