Export (0) Print
Expand All

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
BroadcastIndicates a broadcast packet.
ControlDataTruncatedIndicates that the control data did not fit into an internal 64-KB buffer and was truncated.
DontRouteSend without using routing tables.
MaxIOVectorLengthProvides 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.
MulticastIndicates a multicast packet.
NoneUse no flags for this call.
OutOfBandProcess out-of-band data.
PartialPartial send or receive for message.
PeekPeek at the incoming message.
TruncatedThe 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

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft