IndyのTIdTCPServer(D2009、Indy 10)を使用してクライアントアプリケーションと通信します。OnExecuteメソッドで、タスクを作成してキューに入れます。ワーカースレッドがタスクを実行し、送信キューに入れます。次に、送信キューは応答をクライアントに送信します。
送信スレッドで、サーバーのコンテキストリストをループし、タスクに格納されているIPおよびポート情報に一致するコンテキストを探します。次に、アクセス違反をスローすることがあるいくつかの送信コマンドに従います(送信中にコンテキストが破棄されると思います)。
ここで質問に移ります。応答を送信する前にコンテキストが閉じられていないことを確認するにはどうすればよいですか?Indyで別のスレッドから送信することは可能ですか、それともすべてをIndyスレッドで行う必要がありますか?