System.Net.Socket.TSocket.ReceiveFrom
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 */;
Inhaltsverzeichnis
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:
Bufist ein Zeiger auf den Puffer zum Empfangen der eingehenden Daten.Offsetist eine Byte-Anzahl, die am Beginn der angeforderten Daten übersprungen werden soll.Countist die Länge (in Byte) des Puffers, auf den vonBufgezeigt wird. Dies ist zudem die maximale Länge der angeforderten Daten, die ReceiveFrom zurückgibt.Flagsist 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 |
|---|---|---|
|
Netzwerk-Socket-Fehler: <Fehlermeldung> (<Fehlercode>) bei API "ioctlsocket" |
| |
|
Netzwerk-Socket-Fehler: <Fehlermeldung> (<Fehlercode>) bei API "recvfrom" |
|
Siehe auch
- System.Net.Socket.TSocket.BeginReceiveFrom
- System.Net.Socket.TSocket.EndReceiveBytesFrom
- System.Net.Socket.TSocket.EndReceiveStringFrom
- Funktion send (MSDN)