掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TIdTCPServerでThreadがFreeできない? (ID:21257)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちわ OCと申します TIdTCPServerでソケット通信をおこなっているのですが コネクトをして、メッセージの送受信まではうまくいっているのですが 実際に送受信するメッセージは短文なのですぐに切断をサーバ側からしようとしています。 それでDisconnectイベントの中でThreadをFreeしようとしているのですが エラーもでずにそこでだんまりになってしまいます。 スレッド数に上限を設定していないので新たに接続しようとすれば 再び新規スレッドで接続するので処理自体はおこなえるのですが Freeできないまま残ったスレッドがどんどんたまって どんどんメモリを圧迫していきます。 具体的には以下のようにしているのですが なぜFreeできないのか、どのようにすべきなのかがわかりません procedure TServerFrmMain.ServerConnect(AThread: TIdPeerThread); begin LogList.Lines.Add(TimeToStr(Time)+' SQLリクエストを受け付けました'); end; procedure TServerFrmMain.ServerExecute(AThread: TIdPeerThread); begin AThread.Connection.Disconnect; end; procedure TServerFrmMain.ServerDisconnect(AThread: TIdPeerThread); begin AThread.Free; LogList.Lines.Add (TimeToStr(Time)+' リクエストを完了しました'); end; なにかヒントがつかめればと思い 投稿させて頂きました よろしくお願いします ------------------------------------------------ 動作環境 Win2K Pro. Delphi6pro. Up4 indy 9.0.18
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.