Hmmpf...
Irgendwie hab ich doch noch ein paar Probleme damit. Und vielleicht antwortet mir ja jetzt mal jemand
Und zwar:
Da nun ja nun schon der Client auf den Server zugreifen kann und alles. Klappt ja schonmal das, dass der Client seine
eigene Nachricht sieht. Aber darum geht es ja leider nicht bei einem Chat.
Jetzt habe ich mir überlegt, man muss ja nun nur alle paar Millisekunden beim Server überprüfen, ob es neue Nachrichten gibt. Dazu habe ich mir einen Timer genommen:
Delphi-Quellcode:
procedure ...Timer1....
begin
With TCPClient do begin
connect;
try
Memo1.Lines.Add(ReadLn);
finally
disconnect;
end;
end;
end;
Bei dieser Procedure schmiert aber der Client ab.
Also bin ich jetzt am Überlegen, ob man es nicht praktischer machen kann. Denn mit einem Timer hat man ja sowieso das Problem, dass Nachrichten verloren gehen können. Wenn man den Timer zum Beispiel auf 1 Sekunde stellt und in der einen Sekunde schreiben 2 Leute eine Nachricht, dann empfängt der Client ja nur eine der beiden Nachrichten.
Deshalb müsste man es ja schaffen, dass der Server dem Client mitteilt, dass eine neue Nachricht gekommen ist. Und der Client daraufhin die Nachricht vom Server verlangt.
Aber ich habe keine Ahnung, ob mein Ansatz richtig ist. Geschweige denn, wie ich diesen Ansatz fortführen kann.
Könntet ihr mir helfen?