System.Win.ScktComp.TClientSocket.ClientType
Delphi
property ClientType: TClientType read GetClientType write SetClientType;
C++
__property TClientType ClientType = {read=GetClientType, write=SetClientType, nodefault};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
property | published | System.Win.ScktComp.pas System.Win.ScktComp.hpp |
System.Win.ScktComp | TClientSocket |
Beschreibung
Legt fest, ob der Client-Windows-Socket Informationen über die Socket-Verbindung in asynchroner Form liest und schreibt.
Wenn ClientType auf ctNonBlocking gesetzt wird, kann der Client-Windows-Socket auf asynchrone Schreib- und Lese-Ereignisse reagieren. Die Ausführung wird dabei nicht blockiert. OnRead oder OnWrite-Ereignisse treten auf, wenn der Socket über die Verbindung Lese- und Schreibvorgänge abwickeln muss.
Wenn ClientType dagegen auf ctBlocking gesetzt wird, verlaufen alle Lese- und Schreibvorgänge asynchron. Es empfiehlt sich dann, einen eigenen Thread dafür abzuspalten, um sicherzustellen, dass diese Operationen nicht die gesamte Ausführung der Client-Anwendung blockieren.
Wenn ClientType auf ctBlocking gesetzt ist, verwenden Sie ein TWinSocketStream-Objekt zum Lesen und Schreiben. TWinSocketStream implementiert eine Zeitüberschreitungsabfrage, damit die Anwendung bei Schreib- oder Lesefehlern nicht vollständig angehalten wird. TWinSocketStream besitzt außerdem eine Methode, mit der das Lesen verzögert werden kann, bis die Socket-Verbindung bereit ist, Informationen zu senden.
Verwenden Sie einen nicht blockierenden Socket immer dann, wenn Lese- und Schreibvorgänge mit den Server-Sockets synchronisiert werden müssen.