次の方法で共有


Socket.Receive メソッド

バインドされた Socket からデータを受信します。

オーバーロードの一覧

バインドされた Socket からデータを受信し、受信バッファに格納します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function Receive(Byte()) As Integer

[C#] public int Receive(byte[]);

[C++] public: int Receive(unsigned char __gc[]);

[JScript] public function Receive(Byte[]) : int;

指定した SocketFlags を使用し、バインドされた Socket からデータを受信して受信バッファに格納します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function Receive(Byte(), SocketFlags) As Integer

[C#] public int Receive(byte[], SocketFlags);

[C++] public: int Receive(unsigned char __gc[], SocketFlags);

[JScript] public function Receive(Byte[], SocketFlags) : int;

指定した SocketFlags を使用し、バインドされた Socket から指定したバイト数のデータを受信して受信バッファに格納します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function Receive(Byte(), Integer, SocketFlags) As Integer

[C#] public int Receive(byte[], int, SocketFlags);

[C++] public: int Receive(unsigned char __gc[], int, SocketFlags);

[JScript] public function Receive(Byte[], int, SocketFlags) : int;

指定した SocketFlags を使用し、バインドされた Socket から指定したバイト数のデータを受信して、受信バッファ内の指定したオフセット位置に格納します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function Receive(Byte(), Integer, Integer, SocketFlags) As Integer

[C#] public int Receive(byte[], int, int, SocketFlags);

[C++] public: int Receive(unsigned char __gc[], int, int, SocketFlags);

[JScript] public function Receive(Byte[], int, int, SocketFlags) : int;

使用例

[Visual Basic, C#, C++] 接続された Socket のデータを受信する前に、データ バッファ、オフセット、サイズ、およびソケット フラグを指定する例を次に示します。

[Visual Basic, C#, C++] メモ   ここでは、Receive のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
' Displays sending with a connected socket
' using the overload that takes a buffer, offset, message size, and socket flags.
Public Shared Function SendReceiveTest4(server As Socket) As Integer
    Dim msg As Byte() = Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim i As Integer = server.Send(msg, 0, msg.Length, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", i)
        
        ' Get reply from the server.
        server.Receive(bytes, 0, server.Available, SocketFlags.None)
        Console.WriteLine(Encoding.UTF8.GetString(bytes))
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0
End Function 'SendReceiveTest4


[C#] 
// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size, and socket flags.
public static int SendReceiveTest4(Socket server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try 
    {
        // Blocks until send returns.
        int i = server.Send(msg, 0, msg.Length, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", i);
        
        // Get reply from the server.
        server.Receive(bytes, 0, server.Available, SocketFlags.None);
        Console.WriteLine(Encoding.UTF8.GetString(bytes));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}

[C++] 
// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size, and socket flags.
int SendReceiveTest4(Socket* server)
{
    Byte msg[]= Encoding::UTF8->GetBytes(S"This is a test");
    Byte bytes[] = new Byte[256];
    try 
    {
        // Blocks until send returns.
        int i = server->Send(msg, 0, msg.Length, SocketFlags::None);
        Console::WriteLine(S"Sent {0} bytes.", i.ToString());
        
        // Get reply from the server.
        server->Receive(bytes, 0, server->Available, SocketFlags::None);
        Console::WriteLine(Encoding::UTF8->GetString(bytes));
    }
    catch (SocketException* e)
    {
        Console::WriteLine("{0} Error code: {1}.", e->Message, e->ErrorCode.ToString());
        return ( e->ErrorCode);
    }
    return 0;
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

Socket クラス | Socket メンバ | System.Net.Sockets 名前空間