public VInfoVentanas(Conexion cliente) : base(cliente) { Text = string.Format("Informacion del Sistema: Ventanas Visibles [{0}]", cliente.IpAddress); _btnMinimizar = new Button(); _btnMinimizar.Text = "Minimizar"; _btnMinimizar.Click += GestionBtnAcciones; _btnMinimizar.Dock = DockStyle.Fill; _btnMinimizar.Tag = "minimizar"; _btnBloquear = new Button(); _btnBloquear.Text = "Bloquear"; _btnBloquear.Dock = DockStyle.Fill; _btnBloquear.Tag = "bloquear"; _btnBloquear.Click += GestionBtnAcciones; _btnDesbloquear = new Button(); _btnDesbloquear.Text = "Desbloquear"; _btnDesbloquear.Dock = DockStyle.Fill; _btnDesbloquear.Tag = "desbloquear"; _btnDesbloquear.Click += GestionBtnAcciones; _btnCambiarTitulo = new Button(); _btnCambiarTitulo.Text = "Cambiar Titulo"; _btnCambiarTitulo.Dock = DockStyle.Fill; _btnCambiarTitulo.Tag = "cambiartitulo"; _btnCambiarTitulo.Click += GestionBtnAcciones; tableAccionesLayaout.Controls.Add(_btnCambiarTitulo); tableAccionesLayaout.Controls.Add(_btnMinimizar); tableAccionesLayaout.Controls.Add(_btnBloquear); tableAccionesLayaout.Controls.Add(_btnDesbloquear); }
public VInfoSoftware(Conexion cliente) : base(cliente) { // this.groupBox1.Enabled = false; InitializeComponent(); Text = string.Format("Informacion del Sistema: Software Instalado [{0}]", cliente.IpAddress); }
public VPpal() { MiServer = new Servidor(this); ClienteSeleccionado = null; Thread.CurrentThread.CurrentUICulture = new CultureInfo(CRatIniPropiedades.Idioma); InitializeComponent(); ActivarIdioma(); }
protected override void EventoDatosRecibidos(Conexion client, NetData objetoRecibido) { ManejoDB.InsertarFromNetData(client.IpAddress, objetoRecibido); //insercion db async. switch (objetoRecibido.CodigoDeProtocolo) { case (int) Protocolo.Cliente.Conectado: V.Invoke(new VPpal._AddClient(V.AddNuevoCliente), client, objetoRecibido); Clientes.Add(client); break; case (int) Protocolo.Cliente.RespuestaInfoVentanas: V.VentanaInfoVentanas.info = objetoRecibido; V.VentanaInfoVentanas.Bw.RunWorkerAsync(); break; case (int)Protocolo.Cliente.RespuestaInfoSoftware: V.VentanaInfoSoftware.info = objetoRecibido; V.VentanaInfoSoftware.Bw.RunWorkerAsync(); break; case (int) Protocolo.Cliente.RespuestaInfoProcesos: V.VentanaInfoProcesos.info = objetoRecibido; V.VentanaInfoProcesos.Bw.RunWorkerAsync(); break; case (int) Protocolo.Cliente.AutentificacionCorrecta: MessageBox.Show(V, "Has sido autentificado en el cliente", "Login Correcto", MessageBoxButtons.OK, MessageBoxIcon.Information); V.AutentificarCliente(client); break; case (int) Protocolo.Cliente.AutentificacionIncorrecta: MessageBox.Show(V, "Fallo al intentar autentificarse en el cliente.\n" + "La contraseña es incorrecta.", "Cliente Protegido", MessageBoxButtons.OK, MessageBoxIcon.Stop); break; case (int) Protocolo.Cliente.PedirPassword: MessageBox.Show(V, "El cliente sobre el que intentas realizar la accion está protegido por contraseña." + "Por favor, autentificate en el cliente.", "Cliente Protegido", MessageBoxButtons.OK, MessageBoxIcon.Stop); break; case (int) Protocolo.Cliente.RespuestaComandoCmd: if (!V.VentanaConsolaRemota.IsDisposed && V.VentanaConsolaRemota != null) { V.VentanaConsolaRemota.agregarRespuesta(objetoRecibido.GetDato("RespuestaCmd")); } break; } }
private void EscucharConexiones() { try { _listener.Start(); while (true) { Conexion clientConexion = new Conexion(_listener.AcceptTcpClient()); clientConexion.DisconnectedEvent += EventoClienteDesconectado; clientConexion.ReceivedEvent += EventoDatosRecibidos; } } catch (Exception ex) { } }
public VInfoProcesos(Conexion cliente) : base(cliente) { Text = string.Format("Informacion del Sistema: Procesos En Ejecución [{0}]", cliente.IpAddress); _btnIniciarProceso = new Button(); _btnIniciarProceso.Text = "Iniciar Proceso"; _btnIniciarProceso.Click += GestionBtnAcciones; _btnIniciarProceso.Dock = DockStyle.Fill; _btnIniciarProceso.Tag = "iniciar"; _btnMatarProceso = new Button(); _btnMatarProceso.Text = "Matar Proceso"; _btnMatarProceso.Dock = DockStyle.Fill; _btnMatarProceso.Tag = "matar"; _btnMatarProceso.Click += GestionBtnAcciones; tableAccionesLayaout.Controls.Add(_btnIniciarProceso); tableAccionesLayaout.Controls.Add(_btnMatarProceso); }
protected override void EventoClienteDesconectado(Conexion client) { //llamada a traves del delegado para evitar problemas con los hilos. V.Invoke(new VPpal._DesconectarClient(V.DesconectarClient), client); Clientes.Remove(client); }
public VInformacionDelSistema(Conexion cliente) { _cliente = cliente; InitializeComponent(); }
public void AddNuevoCliente(Conexion client, NetData info) { if (info == null) return; try { ManejoDB.InsertarFromNetData(client.IpAddress, info); //insercion asyncrona en db. } catch (Exception ex) { } foreach (ListViewItem it in listGridClientes.Items) { if (it.Text == client.IpAddress) { it.Tag = client; if (it.SubItems[6].Text != "Conectado") { if (info.GetDato("TienePassword") == "True") { it.SubItems[6].Text = "Conectado sin Autentificar"; it.SubItems[6].ForeColor = Color.RoyalBlue; } else { it.SubItems[6].Text = "Conectado"; it.SubItems[6].ForeColor = Color.Green; } } iconoDeNotificacion.ShowBalloonTip(300, "Reconexion", "El cliente" + client.IpAddress + " volvio a conectarse.", ToolTipIcon.Info); return; } } //si no esta en la lista lo añado con los datos que envió. ListViewItem item = new ListViewItem(); item = new ListViewItem(); item.UseItemStyleForSubItems = true; item.Text = client.IpAddress; item.Tag = client; item.SubItems.Add("UsuarioLogeado"); item.SubItems.Add("NombrePc"); item.SubItems.Add("Plataforma"); item.SubItems.Add("Version"); item.SubItems.Add("Idioma"); item.SubItems.Add("Estado"); item.SubItems[1].Text = info.GetDato("UsuarioLogeado"); item.SubItems[2].Text = info.GetDato("NombrePc"); item.SubItems[3].Text = info.GetDato("NombreSo"); item.SubItems[4].Text = info.GetDato("VersionSo"); item.SubItems[5].Text = info.GetDato("IdiomaSo"); if (info.GetDato("TienePassword") == "True") { item.SubItems[6].Text = "Conectado sin Autentificar"; item.SubItems[6].ForeColor = Color.RoyalBlue; } else { item.SubItems[6].Text = "Conectado"; item.SubItems[6].ForeColor = Color.Green; } item.UseItemStyleForSubItems = false; MiServer.Online++; listGridClientes.Items.Add(item); iconoDeNotificacion.ShowBalloonTip(150, "Nuevo cliente", "Se conecto un nuevo cliente con la IP " + client.IpAddress + " .", ToolTipIcon.Info); }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { if (listGridClientes.SelectedItems.Count <= 0) { ClienteSeleccionado = null; return; } if (listGridClientes.SelectedItems[0].SubItems[6].Text == "No Conectado") { ClienteSeleccionado = null; return; } ClienteSeleccionado = (Conexion) listGridClientes.SelectedItems[0].Tag; }
public void DesconectarClient(Conexion client) { foreach (ListViewItem item in listGridClientes.Items) { if (item.Text == client.IpAddress) { item.SubItems[6].ForeColor = Color.Red; item.SubItems[6].Text = "No Conectado"; iconoDeNotificacion.ShowBalloonTip(150, "Cliente Desconectado", "El cliente " + client.IpAddress + " se desconecto.", ToolTipIcon.Error); } } MiServer.Online--; if (client == ClienteSeleccionado) ClienteSeleccionado = null; }
public void AutentificarCliente(Conexion cliente) { foreach (ListViewItem it in listGridClientes.Items) { if (cliente == it.Tag) { it.SubItems[6].Text = "Conectado"; it.SubItems[6].ForeColor = Color.Green; } } }
public VConsolaRemota(Conexion cliente) { InitializeComponent(); clienteAsociado = cliente; Text = "Consola Remota con " + cliente.IpAddress; }
protected abstract void EventoDatosRecibidos(Conexion client, NetData objetoRecibido);
protected abstract void EventoClienteDesconectado(Conexion client);