4

インディの質問です。

呼び出しにタイムアウト パラメータを追加して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;
4

1 に答える 1