System.Net.Socket.TSocket.Receive
Delphi
function Receive(var Buf; Count: Integer; Flags: Integer): Integer; overload;
function Receive(var Buf; Count: Integer; Flags: TSocketFlags = []): Integer; overload; inline;
function Receive(Count: Integer = -1; Flags: TSocketFlags = []): TBytes; overload; inline;
function Receive(out Bytes: TBytes; Count: Integer = -1; Flags: TSocketFlags = []): Integer; overload;
function Receive(var Bytes: array of Byte; Offset: Integer = 0; Count: Integer = -1; Flags: TSocketFlags = []): Integer; overload;
C++
int __fastcall Receive(void *Buf, int Count, int Flags)/* overload */;
int __fastcall Receive(void *Buf, int Count, TSocketFlags Flags = TSocketFlags() )/* overload */;
System::DynamicArray<System::Byte> __fastcall Receive(int Count = 0xffffffff, TSocketFlags Flags = TSocketFlags() )/* overload */;
int __fastcall Receive(/* out */ System::DynamicArray<System::Byte> &Bytes, int Count = 0xffffffff, TSocketFlags Flags = TSocketFlags() )/* overload */;
int __fastcall Receive(System::Byte *Bytes, const int Bytes_High, int Offset = 0x0, int Count = 0xffffffff, TSocketFlags Flags = TSocketFlags() )/* overload */;
Propriétés
| Type | Visibilité | Source | Unité | Parent |
|---|---|---|---|---|
| function | public | System.Net.Socket.pas System.Net.Socket.hpp |
System.Net.Socket | TSocket |
Description
Obtient les données envoyées à partir du point de terminaison connecté.
Receive bloque l'appelant jusqu'à ce qu'il renvoie les données demandées.
Vous pouvez transmettre les paramètres suivants à Receive :
Bufest un pointeur vers le tampon qui reçoit les données entrantes.Offsetest un nombre d'octets à ignorer au début des données demandées.Countest la longueur (en octets) du tampon pointé parBuf, qui est également la longueur maximale des données demandées renvoyées par Receive. SiCountest égal à -1, Receive renvoie la longueur (en octets) des données reçues.Flagsest un ensemble d'indicateurs qui influencent le comportement de Receive. Pour plus d'informations, voir la documentation de la fonction recv (EN) sur MSDN.
Au lieu de fournir un pointeur vers un tampon (Buf), vous pouvez ne pas fournir un tel argument et laisser Receive renvoyer les données demandées, ou bien vous pouvez fournir un paramètre de sortie, Bytes, que Receive pourra remplir avec les données demandées. Dans les deux cas, les données renvoyées ne sont pas plus nombreuses que le nombre d'octets spécifié par Count.
Exceptions
Un appel à Receive peut déclencher l'une des exceptions suivantes :
| Exception | Exception.Message | Scénarios |
|---|---|---|
|
Erreur de socket réseau : <message d'erreur> (<code d'erreur>), sur la fonction 'ioctlsocket' de l'API |
| |
|
Erreur de socket réseau : <message d'erreur> (<code d'erreur>), sur la fonction 'recv' de l'API |
| |
|
Le type du socket n'est pas compatible avec l'appel |
|
Voir aussi
- System.Net.Socket.TSocket.ReceiveLength
- System.Net.Socket.TSocket.ReceiveFrom
- System.Net.Socket.TSocket.Send
- System.Net.Socket.TSocket.BeginReceive
- System.Net.Socket.TSocket.EndReceiveString
- System.Net.Socket.TSocket.EndReceiveBytes
- fonction recv (EN) (MSDN)