Einzelnen Beitrag anzeigen

Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#4

AW: TIdTCPServer / TIdTCPClient => Ping - Pong

  Alt 21. Jun 2010, 14:47
Hi DataCool,

also....
1. Wozu soll die CriticalSection im OnExecute des Server sein(hoffe Du meinst OnExecute, denn geschrieben hast Du OnRead) Deine var msg, solltest Du einfach lokal im OnExecute deklarieren.
Die CS ist damit wenn der Server gerade list nicht wo anders am Server OnWrite aufgerufen wird. Oder ist das CS zu viel, habe das gleich auch am Client.
Habe die Funktion nur OnRead genannt. msg ist local.

2. Sollte Dir bewußt sein, das das OnExecute des Servers andauerd hintereinander aufgerufen wird(solange wie Client verbunden ist), so kann es auch mal passieren das DEin AThread.Connection.ReadLn; nichts(Lerrstring) zurück liefert, diesen Fall solltest Du abfangen und nicht Dein Event feuern.
Ein leerstring sollte eigentlich nicht kommen. Und wenn doch kann ich eh nichts damit anfangen. Also bei einem fehler, meist Timeout, soll nicht weiter gemacht werden, falsch?

3. Sollte es ein Kommando für das saubere Abmelden des Clients geben, z.B. Client sendet "QUIT", Server und Client trennen danach die Verbindung sauber.
Habe ich, nur wenn das Kabel gezogen wird muss der Server und der Client das ja auch mitbekommen und die verbindung trennen und wieder aufbauen.

4. Benutzt Du noch die 9er Version der Indys, das an sich ist kein Problem ich habe auch noch ein paar Projekte damit laufen, generell sollte man aber bei Neuentwicklungen jetzt auf die 10er Version setzen.
Ja benutze die 9er. Hmm ok dann werde ich mal die 10er suchen und installieren. Denke dazu muss ich die 9er komplett löschen?

Mfg
  Mit Zitat antworten Zitat