System.Win.ScktComp.TClientSocket.ClientType
Delphi
property ClientType: TClientType read GetClientType write SetClientType;
C++
__property TClientType ClientType = {read=GetClientType, write=SetClientType, nodefault};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
property | published | System.Win.ScktComp.pas System.Win.ScktComp.hpp |
System.Win.ScktComp | TClientSocket |
Description
Spécifie si le socket client lit et écrit les informations de manière asynchrone dans la connexion socket.
Affectez la valeur ctNonBlocking à ClientType pour permettre au socket client de répondre à des événements de lecture et d'écriture asynchrones. Si ClientType a la valeur ctNonBlocking, l'exécution n'est pas bloquée par la lecture ou l'écriture dans la connexion socket. Les événements OnRead ou OnWrite se produisent quand le socket a besoin de lire ou d'écrire au travers de la connexion.
Affectez la valeur ctBlocking à ClientType pour obliger les lectures et les écritures à se produire de manière synchrone. C'est une bonne habitude de placer le socket client dans un thread si ClientType a la valeur ctBlocking, ainsi les entrées/sorties ne bloquent pas l'exécution dans l'application client.
Quand ClientType a la valeur ctBlocking, utilisez un objet TWinSocketStream pour effectuer les lectures et écritures. TWinSocketStream empêche l'application de se bloquer indéfiniment quand un problème a lieu pendant la lecture ou l'écriture. Cet objet peut attendre que la connexion socket indique sa disponibilité pour la lecture.
Utilisez un socket non bloquant quand le socket a besoin de synchroniser les lectures et écritures avec les sockets serveur.