SocketFlags 列挙型

定義

ソケットの送受信動作を指定します。

この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。

public enum class SocketFlags
[System.Flags]
public enum SocketFlags
[<System.Flags>]
type SocketFlags = 
Public Enum SocketFlags
継承
SocketFlags
属性

フィールド

名前 説明
None 0

この呼び出しにはフラグを使用しません。

OutOfBand 1

帯域外データを処理します。

Peek 2

受信メッセージをピークします。

DontRoute 4

ルーティング テーブルを使用せずに送信します。

MaxIOVectorLength 16

データの送受信に使用される WSABUF 構造体の数の標準値を提供します。 この値は、.NET Framework 4.5 では使用またはサポートされていません。

Truncated 256

メッセージが大きすぎて指定されたバッファーに収まりきれず、切り捨てられました。

ControlDataTruncated 512

コントロール データが内部の 64 KB バッファーに収まらず、切り捨てられたことを示します。

Broadcast 1024

ブロードキャスト パケットを示します。

Multicast 2048

マルチキャスト パケットを示します。

Partial 32768

メッセージの部分的な送受信。

次の例では、データを送信し、 SocketFlags.Noneを指定します。

// Displays sending with a connected socket
// using the overload that takes a buffer, message size, and socket flags.
public static int SendReceiveTest3(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, msg.Length, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", i);

        // Get reply from the server.
        int byteCount = server.Receive(bytes, bytes.Length, SocketFlags.None);
        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes, 0, byteCount));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
' Displays sending with a connected socket
' using the overload that takes a buffer, message size, and socket flags.
Public Shared Function SendReceiveTest3(ByVal 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, msg.Length, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", i)
        
        ' Get reply from the server.
        Dim byteCount As Integer = server.Receive(bytes, server.Available, SocketFlags.None)
        If byteCount > 0 Then
            Console.WriteLine(Encoding.UTF8.GetString(bytes))
        End If
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest3

適用対象