SocketFlags 列舉

定義

指定套接字傳送和接收行為。

此列舉支援其成員值的位元組合。

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

欄位

名稱 Description
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

適用於