This documentation is archived and is not being maintained.

TcpListener.Server Property

Gets the underlying network Socket.

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

public Socket Server { get; }

Property Value

Type: System.Net.Sockets.Socket
The underlying Socket.

TcpListener creates a Socket to listen for incoming client connection requests. Classes deriving from TcpListener can use this property to get this Socket. Use the underlying Socket returned by the Server property if you require access beyond that which TcpListener provides.


The Server property only returns the Socket used to listen for incoming client connection requests. Use the AcceptSocket method to accept a pending connection request and obtain a Socket for sending and receiving data. You can also use the AcceptTcpClient method to accept a pending connection request and obtain a TcpClient for sending and receiving data.

The following code example demonstrates the use of the Server property. The underlying Socket is retrieved and the Linger Socket option is configured to time out after 10 seconds if data still remains in the network buffer after the connection is closed.

public static void listenerOption(string host, int port)
    IPHostEntry server = Dns.Resolve(host);
    IPAddress ipAddress = server.AddressList[0];

    Console.WriteLine("listening on {0}, port {1}", ipAddress, port);
    TcpListener listener = new TcpListener(ipAddress, port);
    Socket listenerSocket = listener.Server;		

    LingerOption lingerOption = new LingerOption(true, 10);

    // start listening and process connections here.

void listenerOption(String* host, int port)
    IPHostEntry* server = Dns::Resolve(host);
    IPAddress* ipAddress = server->AddressList[0];

    Console::WriteLine(S"listening on {0}, port {1}", ipAddress, __box(port));
    TcpListener* listener = new TcpListener(ipAddress, port);
    Socket* listenerSocket = listener->Server;		

    LingerOption* lingerOption = new LingerOption(true, 10);

    // start listening and process connections here.


Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

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

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0