System.Net.Socket.TSocket.Receive

提供: RAD Studio API Documentation
移動先: 案内検索

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

プロパティ

種類 可視性 ソース ユニット
function public
System.Net.Socket.pas
System.Net.Socket.hpp
System.Net.Socket TSocket


説明

接続先のエンドポイントから送信されたデータを取得します。

Receive は、要求されたデータを返すまで呼び出し側をブロックします。

Receive には、次のパラメータを渡すことができます。

  • Buf は、着信データを受信するバッファのポインタです。
  • Offset は、要求されたデータの先頭から読み飛ばすバイト数です。
  • Count は、Buf で指しているバッファの長さ(バイト単位)で、これは、Receive で返される要求データの最大長でもあります。Count が -1 の場合、Receive は受信したデータの長さ(バイト単位)を返します。
  • Flags は、Receive の動作を左右するフラグの集合です。詳細については、MSDN で recv 関数のドキュメントを参照してください。

バッファのポインタ(Buf)を指定する代わりに、そのような引数を指定せずに Receive に要求データを返させるか、出力パラメータ Bytes を指定して、そこに Receive に要求データを格納させることもできます。どちらの場合も、返されるデータが指定された Count バイトを上回ることはありません。

例外

Receive を呼び出すと、次の例外が発生する可能性があります。

例外 Exception.Message シナリオ

ESocketError

ネットワーク ソケット エラー: <エラー メッセージ> (<エラー コード>)、API 'ioctlsocket'

ネットワーク ソケット エラー: <エラー メッセージ> (<エラー コード>)、API 'recv'

ソケットの種類が呼び出しと非互換です

関連項目