インディの質問です。
呼び出しにタイムアウト パラメータを追加してTIdTCPClient ReadLn、スレッドが終了したことを頻繁に確認できるようにしました。ただし、タイムアウトが発生した場合、ReadLnその時点からデータを取得することはありません。TIdTCPClientをリセットして、もう一度行を探すにはどうすればよいですか?
procedure TClientListner.Execute;
var
msg : String;
begin
while not terminated do
begin
msg := fSocketCon.IOHandler.ReadLn('\n', 200);
if not fSocketCon.IOHandler.ReadLnTimedOut then
begin
DoSomeThing(msg);
end;
end;
end;