SocketFlags Enumeration

SocketFlags Enumeration

 

Specifies socket send and receive behaviors.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace:   System.Net.Sockets
Assembly:  System (in System.dll)

[FlagsAttribute]
public enum SocketFlags

Member nameDescription
Broadcast

Indicates a broadcast packet.

ControlDataTruncated

Indicates that the control data did not fit into an internal 64-KB buffer and was truncated.

DontRoute

Send without using routing tables.

MaxIOVectorLength

Provides a standard value for the number of WSABUF structures that are used to send and receive data. This value is not used or supported on .NET Framework 4.5.

Multicast

None

Use no flags for this call.

OutOfBand

Process out-of-band data.

Partial

Partial send or receive for message.

Peek

Peek at the incoming message.

Truncated

The message was too large to fit into the specified buffer and was truncated.

The following example sends data and specifies None for SocketFlags.

// 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, server.Available, 
                                           SocketFlags.None);
        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}

.NET Framework
Available since 1.1
Return to top
Show:
© 2016 Microsoft