//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); } }
//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 + "."))); }
//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 + "."))); }
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); } }
//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); }
public Cliente(ConexionCliente conexion, string usuario, string password) { this.conexion = conexion; this.usuario = usuario; this.password = password; }