System.Win.ScktComp.TServerWinSocket.OnGetThread
Delphi
property OnGetThread: TGetThreadEvent read FOnGetThread write FOnGetThread;
C++
__property TGetThreadEvent OnGetThread = {read=FOnGetThread, write=FOnGetThread};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | public | System.Win.ScktComp.pas System.Win.ScktComp.hpp |
System.Win.ScktComp | TServerWinSocket |
説明
クライアントソケットへの接続のために,サーバーソケットが新しい実行スレッドを作成することが必要になったときに発生します。
OnGetThread イベントハンドラを記述すると,クライアントソケットへの接続のための特殊な TServerClientThread の下位オブジェクトを作成することができます。CreateSuspended パラメータを false に設定した新規のスレッドを作成し,SocketThread パラメータでそのスレッドを返します。OnGetThread が発生するのは,キャッシュ内にアイドルスレッドがない場合だけです。
スレッドブロック接続を使用するほとんどのアプリケーションでは,OnGetThread イベントハンドラ内に TServerClientThread の下位クラスが新しく作成されます。これは,TServerClientThread のデフォルトの動作では,読み書き処理用に OnClientRead および OnClientWrite イベントハンドラが使用されるからです。それらのイベントは,スレッドローカルではないサーバーソケット上で発生します。
Sender パラメータは,クライアント要求を受け取る TServerWinSocket オブジェクトです。ClientSocket パラメータはクライアントソケットと通信する TServerClientWinSocket オブジェクトです。
メモ: 関連付けられている TServerWinSocket の OnGetThread イベントハンドラを設定すると,関連付けられている TServerSocket の OnGetThread イベントハンドラも設定されます。