Listen for Socket Request in Thread : Socket Server « Network « C# / CSharp Tutorial






using System;
using System.Text;
using System.Threading;
using System.Net;
using System.Net.Sockets;

public class MainClass {

    static void ListenForRequests() {
        int CONNECT_QUEUE_LENGTH = 4;
        
        Socket listenSock = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );
        listenSock.Bind( new IPEndPoint(IPAddress.Any,9999) );
        listenSock.Listen( CONNECT_QUEUE_LENGTH );

        while( true ) {
            using( Socket newConnection = listenSock.Accept() ) {
                // Send the data.
                byte[] msg = Encoding.UTF8.GetBytes( "Hello World!" );
                newConnection.Send( msg, SocketFlags.None );
            }
        }
    }

    static void Main() {
        // Start the listening thread.
        Thread listener = new Thread(new ThreadStart(ListenForRequests) );
        listener.IsBackground = true;
        listener.Start();

        Console.WriteLine( "Press <enter> to quit" );
        Console.ReadLine();
    }
}








33.6.Socket Server
33.6.1.Listen for Socket Request in Thread
33.6.2.Use background thread to deal with the Server socket
33.6.3.Accepting a socket connection (simple file-server)
33.6.4.Simple Tcp server: receive data from a client
33.6.5.Tcp server: use StreamWriter and StreamReader to read and write to a client
33.6.6.GUI based Tcp Server
33.6.7.Tcp server based on Thread
33.6.8.ThreadPool based Tcp server