Network C# Tutorial

using System.Net.Sockets;
using System.IO;
using System;
using System.Threading;
public class TimeServer {
    public static void Main() {
        TcpListener server = new TcpListener(55555);
        server.Start();
        Console.WriteLine("Waiting for connections");
        while (true) {
            Socket client = server.AcceptSocket();
            Console.WriteLine("New connection detected on " + client.Handle);
            ClientHandler ch = new ClientHandler(client);
        }
    }
}
class ClientHandler {
    private Socket client;
    public ClientHandler(Socket client) {
        this.client = client;
        Thread clientThread = new Thread(new ThreadStart(ClientSession));
        clientThread.Start();
    }
    public void ClientSession() {
        NetworkStream netStream = new NetworkStream(client);
        BinaryWriter timeOut = new BinaryWriter(netStream);
        String time = DateTime.Now.ToString();
        timeOut.Write(time);
        timeOut.Close();
        netStream.Close();
        client.Close();
    }
}