System.Win.ScktComp.TClientSocket.ClientType
Delphi
property ClientType: TClientType read GetClientType write SetClientType;
C++
__property TClientType ClientType = {read=GetClientType, write=SetClientType, nodefault};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | System.Win.ScktComp.pas System.Win.ScktComp.hpp |
System.Win.ScktComp | TClientSocket |
説明
クライアントソケットがソケット接続で非同期に情報を読み書きするかどうかを指定します。
ClientType プロパティを ctNonBlocking に設定すると,クライアントソケットは非同期の読み出しおよび書き込みイベントに応答できるようになります。ClientType が ctNonBlocking ならば,実行がソケット接続での読み書きによってブロックされることはありません。OnRead または OnWrite イベントは,ソケットが接続で読み書きを行うことが必要になったときに発生します。
ClientType プロパティを ctBlocking に設定すると,すべての読み書きが同期的に行われるようにすることができます。ClientType が ctBlocking の場合は,クライアントソケットオブジェクトをスレッドに組み込むこともできます。そうすれば,入出力がクライアントアプリケーション内のすべての実行をブロックすることはありません。
ClientType プロパティが ctBlocking のときは,読み書きに TWinSocketStream オブジェクトを使用します。TWinSocketStream は,読み書き中に問題が生じた場合に,アプリケーションが応答しなくなることを防ぐことができます。また,TWinSocketStream はソケット接続が読み出しを行えるようになるのを待つことができます。
読み書きをサーバーソケットと同期させる必要があるときは,非ブロッキングソケットを使用します。