System.Win.ScktComp.TServerWinSocket.ServerType
Delphi
property ServerType: TServerType read FServerType write SetServerType;
C++
__property TServerType ServerType = {read=FServerType, write=SetServerType, nodefault};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | System.Win.ScktComp.pas System.Win.ScktComp.hpp |
System.Win.ScktComp | TServerWinSocket |
説明
サーバーソケットによって受け入れられる各接続を非ブロッキング接続にするかどうか,あるいは,自動的に接続ごとに独立した実行スレッドが与えられようにするかどうかを指定します。
ServerType プロパティを stThreadBlocking に設定すると,リスニングソケット接続によって受け入れられるソケット接続ごとに新しいスレッドを自動的に生成できます。ServerType が stThreadBlocking ならば,接続のための TServerClientThread オブジェクトは,サーバーソケットが読み書きを行うことが必要になったときに OnClientRead または OnClientWrite イベントを生成します。
ServerType プロパティを stNonBlocking に設定すると,リスニングソケットによって受け入れられるソケット接続でのすべての読み書きを非同期に処理できます。ServerType が stNonBlocking ならば,デフォルトですべてのクライアント接続は単一の実行スレッドで処理されます。OnClientRead または OnClientWrite イベントは,サーバーソケットが接続の 1 つで入出力を保守する必要があるときに発生します。
読み書きをクライアントソケットと同期させる必要があるときには非ブロッキングソケットを使用します。
メモ: ServerType が stThreadBlocking ならば,OnClient... イベントハンドラのコードはスレッドセーフなコードであることが重要です。