Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TCP Client/Server: stabile Verbindung??? (https://www.delphipraxis.net/92277-tcp-client-server-stabile-verbindung.html)

romber 5. Jun 2007 21:36

Re: TCP Client/Server: stabile Verbindung???
 
Ich habe immer noch keine Lösung. :(
Kann jemand mein Code genau anscheuen und sagen, was ich da falsch mache?
Wäre super!

DataCool 5. Jun 2007 21:41

Re: TCP Client/Server: stabile Verbindung???
 
Hi,

beantworte mir erstmal meine Fragen und sag was zu meinen Denkansätzen.
Du musst etwas umdenken(vom Konzept her).

Aber sag uns doch einfach was Du genau machen willst, dann können wir Dir eher helfen,

Greetz DataCool

alzaimar 5. Jun 2007 21:48

Re: TCP Client/Server: stabile Verbindung???
 
Einen Thread nur mit 'Terminate' zu beenden und dann zu erwarten, das er auch wirklich beendet wurde ist ... mutig ...

'Terminate' sagt dem Thread nur, das er sich beenden *soll*. Du musst dann noch warten, bis er beendet *ist*. Das machst Du mit 'WaitFor', also so etwa:

Delphi-Quellcode:
With MyThread do begin
  Terminate;
  WaitFor;
  // Free
End;
Im Disconnect des Servers prüfst Du nicht, ob 'IndexOf' einen gültigen Wert zurückliefert. Wozu dient denn fClientList? Was macht der Server sonst noch? Liegt es wirklich an diesem Code-Teil?

romber 20. Jun 2007 13:57

Re: TCP Client/Server: stabile Verbindung???
 
Tut mir Leid, dass ich so spät antworte. Musste geschäftlich abreisen. Das Problem besteht aber nach wie vor.

Zitat:

Zitat von DataCool
...Wie schnell musst Du wirklich wissen, ob ein Client nicht mehr verbunden ist ?

Eigentlich ist es nicht so extrem wichtig, wie schnell der Server merkt, dass der Client nicht mehr da ist. Genauer gesagt ist das überhaupt nicht wichtig.

Zitat:

Zitat von DataCool
...Wäre es nicht ausreichend, wenn der Client merkt wenn die Verbindung zum Server unterbrochen ist und sich umgehend neu verbindet ?

Natürlich wäre das ausreichend!!! Das wäre sogar wunderbar!!! :thumb: Genau das habe ich auch mit der oben geposteten Client-Code erreicht. Nur dort ist irgendwo ein [Riesen]Fehler drin. Denn wie schon oben beschrieben, sturzt das Client-Programm nach einiger Zeit ohne jede Meldung ab - einfach weg! Und das liegt genau an dem Code oben, denn wenn ich die Cleint-Funktion weglasse läuft das Programm dauernd ohne Absturze. Deswegen frage ich mich und auch: was ist an dem Code oben falsch? Dort ist definitiv etwas falsch!

Zitat:

Zitat von DataCool
...Erzähl mal näheres über die Art der Daten die Du austauschen willst, die Rahmenbediengungen unter denen das ganze ablaufen soll und den "Sinn und Zweck" des ganzen.

Es sind Strings, manchmal auch ziemlich lange, es ist aber nicht das Problem. Mit dem oben geposteten Code kommen die Daten jedesmal komplett und in richtiger Reihenfolge an. Das funktioniert also. Die Rahmenbeningungen kann mann auch als "klassisch" bezeichnen. Ich habe ein dedicated Windows-Server von "1&1" auf einer 100 Mbit Leitung. Auf dem Server läuft das Server-Teil. Die Klienten sind einfache Benutzer auf Windows XP oder Vista. Zu dem "Sinn und Zweck" der Sache muss ich sagen, dass es sehr-sehr-sehr wichtig ist, dass die Daten möglicht schnell die Clients erreichen, wenn der Server die Daten bekommen hat.

Was ist an der Code oben falsch? Experten! HILFE!!! :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 Uhr.
Seite 2 von 2     12   

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