Hi Arnulf.
Erstmal ein großes Dankeschön für dieses Beispiel, wie man vernünftig Clients verwaltet.
Ich habe das ein kleines Problem mit meinem Server / Client.
Wenn ein Client Verbindet, wird
1. kein Log-Eintrag erzeugt, dass ein neuer Client da ist
So wie hier:
(ist bei mir übrigens exakt gleich geblieben)
Delphi-Quellcode:
begin
AddLogEntry( 'Client ' + GetFullAdress(Socket) + ' connected.' ); //AddLogEntry ist nur das log memo.
Die Prozedur dazu ist simpel:
Delphi-Quellcode:
Procedure AddLogEntry(Log :String);
begin
Logfile.Add('['+DateTimeToStr(Now)+'] '+Log);
end;
2. wird auch beim Trennen der Verbindung nichts eingetragen. Erst (und jetzt kommt's) wenn man den Server auf Active := false setzt !!
Die TConnectionInfo entspricht exakt der aus deinem Tutorial.
Mein Server und der Client benutzen den Port 25287 und liegen beide auf dem selber Rechner.
(kann es sein, dass Sockets nicht mit Lokalen Verbindungen auf dem selben Port klar kommen?)
////////////
Ok mir fällt gerade auf dass auch beim ClientRead nix gemacht wird.
Nun bin ich verwirrt...
Übrigens: Am Schreiben selbst kann es nicht liegen, da andere Log-Eintragungen, wie z.b. die Verbindung zur
MySQL DB, eingetragen werden.
Wenn du noch irgendwelche Infos brauchst (meinetwegen auch meinen Source), dann sag bescheid.
Danke.
mfG Hybrid