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:
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 vonBuf
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 |
---|---|---|
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)