System.Net.Socket.TSocket.ReceiveFrom

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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 */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.Net.Socket.pas
System.Net.Socket.hpp
System.Net.Socket TSocket


Beschreibung

Empfängt Daten von einem Remote-Socket.

Für ReceiveFrom muss der Typ Ihres Socket entweder TCP oder UDP sein.

ReceiveFrom blockiert den Aufrufer, bis die angeforderten Daten zurückgegeben werden.

Sie können an ReceiveFrom die folgenden Parameter übergeben:

  • Buf ist ein Zeiger auf den Puffer zum Empfangen der eingehenden Daten.
  • Offset ist eine Byte-Anzahl, die am Beginn der angeforderten Daten übersprungen werden soll.
  • Count ist die Länge (in Byte) des Puffers, auf den von Buf gezeigt wird. Dies ist zudem die maximale Länge der angeforderten Daten, die ReceiveFrom zurückgibt.
  • Flags ist ein Flag-Satz, der das Verhalten von ReceiveFrom beeinflusst. Weitere Informationen finden Sie in der Dokumentation der Funktion recvfrom auf der MSDN-Website.

Der Ausgabeparameter Endpoint gibt den Quellendpunkt an, der die Daten sendet.

Anstatt einen Zeiger auf einen Puffer (Buf) bereitzustellen, können Sie auch kein derartiges Argument angeben und ReceiveFrom die angeforderten Daten zurückgeben lassen oder einen Ausgabeparameter, Bytes, angeben, den ReceiveFrom mit den angeforderten Daten füllen kann. In beiden Fällen werden die zurückgegebenen Daten niemals größer als die angegebenen Count Byte.

Exceptions

Ein Aufruf von ReceiveFrom kann eine der folgenden Exceptions auslösen:

Exception Exception.Message Szenarien

ESocketError

Netzwerk-Socket-Fehler: <Fehlermeldung> (<Fehlercode>) bei API "ioctlsocket"

Netzwerk-Socket-Fehler: <Fehlermeldung> (<Fehlercode>) bei API "recvfrom"

Siehe auch