System.Net.Socket.TSocket.Listen
Delphi
procedure Listen(const Address, Service: string; Port: Word; QueueSize: Integer = -1); overload;
procedure Listen(const Endpoint: TNetEndpoint; QueueSize: Integer = -1); overload;
C++
void __fastcall Listen(const System::UnicodeString Address, const System::UnicodeString Service, System::Word Port, int QueueSize = 0xffffffff)/* overload */;
void __fastcall Listen(const TNetEndpoint &Endpoint, int QueueSize = 0xffffffff)/* overload */;
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
procedure function |
public | System.Net.Socket.pas System.Net.Socket.hpp |
System.Net.Socket | TSocket |
Description
Configure le socket pour commencer à accepter des connexions entrantes.
Après l'appel à Listen, vous devez appeler Accept pour accepter effectivement une connexion entrante et établir un canal de communication avec ce client.
Pour spécifier le point de terminaison sur lequel votre socket écoute, vous devez fournir l'une ou l'autre des combinaisons de paramètres suivantes :
- Un point de terminaison (
Endpoint
). - Une adresse IP (
Address
) et un service (Service
). Vous pouvez transmettre un mot vide en tant quePort
, carService
est utilisé pour déterminer le port. - Une adresse IP (
Address
) et un port (Port
). Transmettez une chaîne vide en tant queService
, sinon le nom de service spécifié est utilisé pour déterminer le port à utiliser, et le port spécifié est ignoré.
QueueSize
détermine la longueur maximale de la file d'attente des connexions en attente. Voir la fonction listen (EN) sur MSDN. Utilisez -1
pour la longueur maximale recommandée de la file d'attente (par défaut).
Exceptions
Un appel à Bind peut déclencher l'une des exceptions suivantes :
Exception | Exception.Message | Scénarios |
---|---|---|
Impossible de créer un nouveau socket |
| |
Impossible d'écouter sur un socket ouvert |
| |
Erreur de socket réseau : <message d'erreur> (<code d'erreur>), sur la fonction 'bind' de l'API |
| |
Erreur de socket réseau : <message d'erreur> (<code d'erreur>), sur la fonction 'listen' de l'API |
| |
Erreur de socket réseau : <message d'erreur> (<code d'erreur>), sur la fonction 'socket' de l'API |
|