title: Help me to choose Socket or TCPListener
body: <p>I read 2 C# chat source code &amp; I see a problem:
  One source uses Socket class:</p>
  
  <pre><code>private void StartToListen(object sender , DoWorkEventArgs e)
  {
      this.listenerSocket = new Socket(AddressFamily.InterNetwork , SocketType.Stream , ProtocolType.Tcp);
      this.listenerSocket.Bind(new IPEndPoint(this.serverIP , this.serverPort));
      this.listenerSocket.Listen(200);
      while ( true )
          this.CreateNewClientManager(this.listenerSocket.Accept());
  }
  </code></pre>
  
  <p>And other one uses TcpListener class:</p>
  
  <pre><code>    server = new TcpListener(portNumber);
      logger.Info("Server starts");
      while (true)
      {
          server.Start();
          if (server.Pending())
          {
              TcpClient connection = server.AcceptTcpClient();
              logger.Info("Connection made");
              BackForth BF = new BackForth(connection);
          }
      }
  </code></pre>
  
  <p>Please help me to choose the one. I should use Socket class or TcpListener class. Socket connection is TCP or UDP? Thanks.</p>