Hallo,
Ich hab mal wieder ein Problem. Ich versuche derzeit ein kleines Spiel zu schreiben und dafür brauch ich eine Verbindung zwischen Client und Server. Ich verwende übrigens die Indy 9 Komponenten. Nun zu dem Problem:
Irgendwie bekomme ich keine stabile Verbindung zustande. Wenn ich einzeln Nachrichten abschicke, also Connect>WriteLn>Disconnect, klappt das alles wunderbar. Sobald ich aber mehrere Nachrichten (eventuell mit zeitlichem Abstand) abschicke, und die Verbindung zwischen Server und Client nicht jedesmal neu verbinde, dann kriege ich meistens einen Timeout Fehler. Leider kann ich mich auf IdTCPClient.Connected nicht verlassen, da es immer True zurück gibt.
Zum Aufbau:
Der Client hat sowohl eine Client-, als auch eine Server-Komponente.
Der Server hat eine Server- und für jeden Client eine Client-Komponente.
Gedacht war es so, dass der Client erst seine ID und dann eine Nachricht an den Server schickt, dieser verarbeitet die Nachricht und schickt mittels der zugehörigen Client-Komponente eine Antwort.
Ich könnte es zwar auch so machen, dass ich nur eine Client-Komponente beim Server verwende, aber diese müsste ich bei jeder Nachricht ja neu verbinden (mit dem Client für den die Nachricht bestimmt ist). Bei vielen Spielern würde das dann aber doch zu lange dauern.
Gibt es da irgendwelche Alternativen? Oder gehe ich die Sache irgendwie falsch an?! Wäre für jeden Rat dankbar
Gruß
monty