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 :
Buf
est un pointeur vers le tampon qui reçoit les données entrantes.Offset
est un nombre d'octets à ignorer au début des données demandées.Count
est la longueur (en octets) du tampon pointé parBuf
, qui est également la longueur maximale des données demandées renvoyées par Receive. SiCount
est égal à -1, Receive renvoie la longueur (en octets) des données reçues.Flags
est 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)