System.Net.Socket.TSocket.Receive
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 | シナリオ |
---|---|---|
ネットワーク ソケット エラー: <エラー メッセージ> (<エラー コード>)、API 'ioctlsocket' |
| |
ネットワーク ソケット エラー: <エラー メッセージ> (<エラー コード>)、API 'recv' |
| |
ソケットの種類が呼び出しと非互換です |
|
関連項目
- System.Net.Socket.TSocket.ReceiveLength
- System.Net.Socket.TSocket.ReceiveFrom
- System.Net.Socket.TSocket.Send
- System.Net.Socket.TSocket.BeginReceive
- System.Net.Socket.TSocket.EndReceiveString
- System.Net.Socket.TSocket.EndReceiveBytes
- recv 関数(MSDN)