Network C# Tutorial

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class MainClass
{
   public static void Main()
   {
      IPEndPoint ip = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9999);
      Socket server = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
      try
      {
         server.Connect(ip);
      } catch (SocketException e){
         Console.WriteLine(e.ToString());
         return;
      }
      NetworkStream ns = new NetworkStream(server);
      while(true)
      {
         byte[] data = new byte[1024];
         string input = Console.ReadLine();
         if (ns.CanWrite){
            ns.Write(Encoding.ASCII.GetBytes(input), 0, input.Length);
            ns.Flush();
         }
         int receivedDataLength = ns.Read(data, 0, data.Length);
         string stringData = Encoding.ASCII.GetString(data, 0, receivedDataLength);
         Console.WriteLine(stringData);
      }
      ns.Close();
      server.Shutdown(SocketShutdown.Both);
      server.Close();
   }
}