System.Net.Socket.TSocket.ReceiveFrom

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function ReceiveFrom(var Buf; Count: Integer; Flags: Integer): Integer; overload;
function ReceiveFrom(var Buf; Count: Integer; Flags: TSocketFlags = []): Integer; overload; inline;
function ReceiveFrom(Count: Integer = -1; Flags: TSocketFlags = []): TBytes; overload; inline;
function ReceiveFrom(out Bytes: TBytes; Count: Integer = -1; Flags: TSocketFlags = []): Integer; overload; inline;
function ReceiveFrom(var Bytes: array of Byte; Offset: Integer = 0; Count: Integer = -1; Flags: TSocketFlags = []): Integer; overload;
function ReceiveFrom(var Buf; Count: Integer; out Endpoint: TNetEndpoint; Flags: Integer): Integer; overload;
function ReceiveFrom(var Buf; Count: Integer; out Endpoint: TNetEndpoint; Flags: TSocketFlags = []): Integer; overload; inline;
function ReceiveFrom(out Endpoint: TNetEndpoint; Count: Integer = -1; Flags: TSocketFlags = []): TBytes; overload; inline;
function ReceiveFrom(out Bytes: TBytes; out Endpoint: TNetEndpoint; Count: Integer = -1; Flags: TSocketFlags = []): Integer; overload;
function ReceiveFrom(var Bytes: array of Byte; out Endpoint: TNetEndpoint; Offset: Integer = 0; Count: Integer = -1; Flags: TSocketFlags = []): Integer; overload;

C++

int __fastcall ReceiveFrom(void *Buf, int Count, int Flags)/* overload */;
int __fastcall ReceiveFrom(void *Buf, int Count, TSocketFlags Flags = TSocketFlags() )/* overload */;
System::DynamicArray<System::Byte> __fastcall ReceiveFrom(int Count = 0xffffffff, TSocketFlags Flags = TSocketFlags() )/* overload */;
int __fastcall ReceiveFrom(/* out */ System::DynamicArray<System::Byte> &Bytes, int Count = 0xffffffff, TSocketFlags Flags = TSocketFlags() )/* overload */;
int __fastcall ReceiveFrom(System::Byte *Bytes, const int Bytes_High, int Offset = 0x0, int Count = 0xffffffff, TSocketFlags Flags = TSocketFlags() )/* overload */;
int __fastcall ReceiveFrom(void *Buf, int Count, /* out */ TNetEndpoint &Endpoint, int Flags)/* overload */;
int __fastcall ReceiveFrom(void *Buf, int Count, /* out */ TNetEndpoint &Endpoint, TSocketFlags Flags = TSocketFlags() )/* overload */;
System::DynamicArray<System::Byte> __fastcall ReceiveFrom(/* out */ TNetEndpoint &Endpoint, int Count = 0xffffffff, TSocketFlags Flags = TSocketFlags() )/* overload */;
int __fastcall ReceiveFrom(/* out */ System::DynamicArray<System::Byte> &Bytes, /* out */ TNetEndpoint &Endpoint, int Count = 0xffffffff, TSocketFlags Flags = TSocketFlags() )/* overload */;
int __fastcall ReceiveFrom(System::Byte *Bytes, const int Bytes_High, /* out */ TNetEndpoint &Endpoint, 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

La méthode Receive reçoit les données à partir d'un socket distant.

Pour utiliser ReceiveFrom, le type de votre socket doit être TCP ou UDP.

ReceiveFrom bloque l'appelant jusqu'à ce qu'il renvoie les données demandées.

Vous pouvez transmettre les paramètres suivants à ReceiveFrom :

  • 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é par Buf, qui est également la longueur maximale des données demandées renvoyées par ReceiveFrom.
  • Flags est un ensemble d'indicateurs qui influencent le comportement de ReceiveFrom. Pour de plus amples informations, voir la documentation de la fonction recvfrom (EN) (MSDN).

Le paramètre de sortie Endpoint indique le point de terminaison source qui envoie les données.

Au lieu de fournir un pointeur vers un tampon (Buf), vous pouvez ne pas fournir un tel argument et laisser ReceiveFrom renvoyer les données demandées, ou bien vous pouvez fournir un paramètre de sortie, Bytes, que ReceiveFrom 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 à ReceiveFrom peut déclencher l'une des exceptions suivantes :

Exception Exception.Message Scénarios

ESocketError

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 'recvfrom' de l'API

Voir aussi