System.Win.ScktComp.TClientWinSocket.ClientType
Delphi
property ClientType: TClientType read FClientType write SetClientType;
C++
__property TClientType ClientType = {read=FClientType, write=SetClientType, nodefault};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | System.Win.ScktComp.pas System.Win.ScktComp.hpp |
System.Win.ScktComp | TClientWinSocket |
説明
クライアント Windows ソケットがソケット接続で非同期に情報を読み書きするかどうかを指定します。
クライアントソケットコンポーネントは,それぞれの ClientType プロパティに反映するように ClientType を設定します。ClientType が ctNonBlocking ならば,クライアント Windows ソケットは非同期の読み出しおよび書き込みイベントに応答し,実行が接続での読み書きによってブロックされることはありません。OnSocketEvent イベントは,ソケットが接続で読み書きを行うことが必要になったときに発生します。
ClientType プロパティが ctBlocking の場合,すべての読み書きは同期的に行われます。ClientType が ctBlocking の場合は,すべての読み書きを 1 つの独立したスレッドで実行することもできます。独立したスレッドで読み書きを行えば,これらの処理がクライアントアプリケーション内のすべての実行をブロックしないことが保証されます。
ClientType プロパティが ctBlocking のときは,読み書きに TWinSocketStream オブジェクトを使用します。TWinSocketStream は,読み書き中に問題が生じた場合に,アプリケーションの応答がなくなるのを防ぐためにタイムアウトします。また,TWinSocketStream は,読み出しを行う前に,ソケット接続が情報を送信できるようになるまで待つメソッドを提供します。
読み書きをサーバーソケットと同期させる必要があるときは,非ブロッキングソケットを使用します。