Vielen Dank für den Vorschlag. Aber bevor ich mich mit dem konvertieren/anpassen deines Protokolls für meine Software beschäftige, muss ich erwähnen, dass es absolute Vorraussetzung meiner Software ist, dass die Strings so schnell wie möglich beim Clienten ankommen und nur zusammenhängend ausgewertet werden können. Ein Schicken von kleinen Paketen hintereinander wäre wahrscheinlich mit einer zu großen Zeitverzögerung verbunden.
Übrigens habe ich es auch schon mit kleinen Paketen versucht, da kam die genannte Fehlermeldung dann halt nach 15 Minuten. Würde dein Protokoll da wirklich Abhilfe schaffen, also die Dinge so entscheidend anders machen?
Vielleicht ist ja auch mein Code unglücklich, warum hatte sonst nie jemand mit diesem Problem zu kämpfen.
Server:
Delphi-Quellcode:
procedure TForm1.IdTCPServerExecute(AContext: TIdContext);
begin
AContext.Connection.iohandler.WriteLn(s);
end;
Client:
Delphi-Quellcode:
procedure TForm1.GetData;
begin
with TCPClient do begin
try
S:=IOHandler.ReadLn;
finally
Disconnect;
end;
end;
end;
Also wirklich so simpel wie möglich. Das GetData wird dann timergesteuert aufgerufen.
Vielen Dank,
Klaxon.