private void ConexionRecibida(ConexionTcp conexionTcp)
 {
     lock (connectedClients)
         if (!connectedClients.Contains(conexionTcp))
         {
             connectedClients.Add(conexionTcp);
         }
     Invoke(new Action(() => label1.Text = string.Format("Clientes:  {0}", connectedClients.Count)));
 }
 private void ConexionCerrada(ConexionTcp conexionTcp)
 {
     lock (connectedClients)
         if (connectedClients.Contains(conexionTcp))
         {
             int cliIndex = connectedClients.IndexOf(conexionTcp);
             connectedClients.RemoveAt(cliIndex);
         }
     Invoke(new Action(() => label1.Text = string.Format("Clientes: {0}", connectedClients.Count)));
 }
        private void MensajeRecibido(ConexionTcp conexionTcp, string datos)
        {
            var    paquete = new Paquete(datos);
            string comando = paquete.Comando;

            if (comando == "login")
            {
                string        contenido = paquete.Contenido;
                List <string> valores   = Mapa.Deserializar(contenido);

                Invoke(new Action(() => textBox1.Text = valores[0]));
                Invoke(new Action(() => textBox2.Text = valores[0]));

                var msgPack = new Paquete("resultado", "OK");
                conexionTcp.EnviarPaquete(msgPack);
            }
        }
 private void AceptarClientes()
 {
     do
     {
         try
         {
             var conexion  = _tcpListener.AcceptTcpClient();
             var srvClient = new ConexionTcp(conexion)
             {
                 ReadThread = new Thread(LeerDatos)
             };
             srvClient.ReadThread.Start(srvClient);
         }
         catch (Exception e)
         {
             MessageBox.Show(e.Message.ToString());
         }
     }while (true);
 }