Network C#

/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
 /*
  Example15_12a.cs implements a NetworkStream server
*/
using System;
using System.IO;
using System.Net.Sockets ;
public class Example15_12a 
{
  // Listen waits for connections
  private void Listen()
  {
    // listen on port 50001
    TcpListener tcpl = new TcpListener(50001);
    tcpl.Start();
    // wait for clients
    for (;;)
    {
      
      // Block here waiting for client connections
      Socket newSocket = tcpl.AcceptSocket();
      if (newSocket.Connected)
      {
        // create a NetworkStream on the socket
        NetworkStream ns = new NetworkStream(newSocket);
        // send some data
        byte[] buf = {(byte)'H', (byte)'e', (byte)'l', (byte)'l',
         (byte)'o', (byte)' ', (byte)'N', (byte)'e', (byte)'t'};
        ns.Write(buf, 0, 9);
        // cleanup
        ns.Flush();
        ns.Close();
      }
      // clean up and quit
      newSocket.Close();
      break;
    }
  }
  public static void Main() 
  {
    // launch a listening thread
    Example15_12a listener = new Example15_12a();
    listener.Listen();
  }
}