I have a simple server that waits for a client to connect, reads the incoming stream, and sends a message back. What I would like to do is have every connection handled by a separate thread. This is my first time working with sockets and threads in C#, and most of the examples I have found are really confusing, so any help or simple examples would be much appreciated.
Here is what I have right now.
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.Text;
    [STAThread]
    static void Main(string[] args)
    {
     TestServer ts = new TestServer();
         ts.Start();
    }
class TestServer
{
    private readonly int port = 48888;
    private readonly IPAddress ip = IPAddress.Parse("127.0.0.1");
    private TcpListener listener;
    public TestServer()
    {
       this.listener = new TcpListener(this.ip, this.port);
    }
    public void Start()
    {
     this.listener.Start();
     Console.WriteLine("Server Running...");
     Socket s;
     Byte[] incomingBuffer;
     int bytesRead;
     Byte[] Message;
     while (true)
     {
      s = this.listener.AcceptSocket();
      incomingBuffer = new Byte[100];
      bytesRead = s.Receive(incomingBuffer);
      string message = "Hello from the server";
      Message = Encoding.ASCII.GetBytes(message.ToCharArray());
      s.Send(Message);
     }
    }
}