1 out of 5 rated this helpful - Rate this topic

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

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.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

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.

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.