Beispiel #1
0
        //Método que recibe mensajes de los clientes
        private void MensajeRecibido(ConexionCliente conexionCliente, string datos)
        {
            var           datosCliente = new DatosCliente(datos);
            string        comando      = datosCliente.Accion;
            string        contenido    = datosCliente.Datos;
            List <string> valores      = DatosCliente.DeserializarLista(contenido);

            Cliente cliente = new Cliente(conexionCliente, valores[0], valores[1]);

            //Mensaje que recibe la consulta de si debe permitir iniciar sesión al usuario
            if (comando.Equals("login"))
            {
                DialogResult boton   = MessageBox.Show("El cliente " + valores[0] + " esta solicitando conectarse", "Solicitud de inicio", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                var          mensaje = new DatosCliente("Ingresar", "OK");
                if (boton == DialogResult.No)
                {
                    mensaje = new DatosCliente("No Ingresar", "NO");
                }

                conexionCliente.EnviarPaquete(mensaje);
                Invoke(new Action(() => txtEventos.Text += "Inicio de sesión del usuario: " + valores[0] + "\r\n"));
                foreach (Cliente cli in ListaClientes.listaClientes)
                {
                    if (cli.usuario.Equals(valores[0]))
                    {
                        cli.conexion = conexionCliente;
                    }
                }
                ListaClientes.listaClientes.Add(cliente);
            }
        }
Beispiel #2
0
 //Método que recibe la conexión
 private void ConexionRecibida(ConexionCliente conexionCliente)
 {
     lock (ClienteConectado)
         if (!ClienteConectado.Contains(conexionCliente))
         {
             ClienteConectado.Add(conexionCliente);
         }
     Invoke(new Action(() => txtTotalClientes.Text = string.Format(ClienteConectado.Count + ".")));
 }
Beispiel #3
0
 //Método que cierra la conexión
 private void ConexionCerrada(ConexionCliente conexionCliente)
 {
     lock (ClienteConectado)
         if (ClienteConectado.Contains(conexionCliente))
         {
             int cliIndex = ClienteConectado.IndexOf(conexionCliente);
             ClienteConectado.RemoveAt(cliIndex);
         }
     Invoke(new Action(() => txtTotalClientes.Text = string.Format(ClienteConectado.Count + ".")));
 }
Beispiel #4
0
 private void btnEnviarNotif_Click(object sender, EventArgs e)
 {
     try
     {
         var             mensaje = new DatosCliente("Nueva Notificacion", txtNotas.Text);
         ConexionCliente con     = ListaClientes.getConexionCliente(cboClientes.Text.ToString());
         con.EnviarPaquete(mensaje);
     }
     catch (Exception ex)
     {
         MessageBox.Show("El cliente no se encuentra disponible, verifique que se encuentre logueado en el sistema.", "Se ha presentado un error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Beispiel #5
0
        //Método que acepta al cliente
        private void AceptarUsuarios()
        {
            do
            {
                try
                {
                    var conexion  = ListenerCliente.AcceptTcpClient();
                    var srvClient = new ConexionCliente(conexion)
                    {
                        ReadThread = new Thread(LeerDatos)
                    };
                    srvClient.ReadThread.Start(srvClient);

                    if (OnClientConnected != null)
                    {
                        OnClientConnected(srvClient);
                    }
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message.ToString());
                }
            } while (true);
        }
Beispiel #6
0
 public Cliente(ConexionCliente conexion, string usuario, string password)
 {
     this.conexion = conexion;
     this.usuario  = usuario;
     this.password = password;
 }