private void InicializarFormulario() { try { int Conf = Config.ObtenerTipoConfiguracion(); ConfiguracionSeleccionada = Conf == 0 ? 2 : Conf; SeleccionarConfiguracion(); if (ConfiguracionSeleccionada == 1) { Txt_Nombre.Text = Config.ObtenerNombreServidor(); } InterfazNet Net = new InterfazNet(); Net.BuscarEquiposEnRed().Cast <string>().ToList() .FindAll(E => E != NombreEquipo) .ForEach(E => Cmb_Equipos.Items.Add(E)); HWND_TaskBar = ExtensionesCOM.FindWindow("Shell_TrayWnd", null); HWND_Inicio = ExtensionesCOM.FindWindow("BUTTON", null); HWND_TrayNotify = ExtensionesCOM.FindWindowEx(HWND_TaskBar, 0, "TrayNotifyWnd", null); HWND_Iconos = ExtensionesCOM.FindWindowEx(HWND_TrayNotify, 0, "Syspager", null); HWND_Reloj = ExtensionesCOM.FindWindowEx(HWND_TrayNotify, 0, "TrayClockWClass", null); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void ConectarCon(int Puerto) { try { TcpClient Cliente; string Equipo = ""; TcpListener Listen = new TcpListener(IPAddress.Any, Puerto); Listen.Start(); while (true) { if (Listen.Pending()) { Cliente = Listen.AcceptTcpClient(); ContenidoRecibido = InterfazNet.Get(ClienteConectar); if (ContenidoRecibido.StartsWith("H")) { Equipo = ContenidoRecibido.Substring(1); } AgregarCliente(Equipo, Puerto, Cliente); break; } Thread.Sleep(100); } } catch (Exception) { MessageBox.Show("No se puede ocupar el mismo socket"); } }
private void EnviarOrdenaCliente(TcpClient ClienteSel, string Orden) { try { InterfazNet.Send(ClienteSel, Orden); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void Tmr_Servidor_Tick(object sender, EventArgs e) { int Puerto; //inicia la escucha Server.Start(); //si hay solicitudes de conexion pendientes if (Server.Pending()) { //obtenemos el cliente tcp ClienteConectar = Server.AcceptTcpClient(); Puerto = ObtenerPuertoDisponible(); InterfazNet.Send(ClienteConectar, Puerto.ToString()); ConectarCon(Puerto); ClienteConectar.Close(); ClienteConectar = new TcpClient(); } Tmr_Cliente.Enabled = true; }
private void VerificarConexionCliente(ENT.Terminal_ENT Equipo) { try { bool EstaActivo = InterfazNet.ValidarConexion(Equipo.TCP); if (!EstaActivo) { if (Equipo.Estado != ENT.TiposAnidados_ENT.EstadoTerminal.Apagado) { EliminarConexionCliente(Equipo); } } Ctrl_Terminales.EncontrarControlXNombre(Equipo.Equipo).ActualizarControles(); } catch (Exception) { throw; } }
private void Tmr_Cliente_Tick(object sender, EventArgs e) { try { List <ENT.Terminal_ENT> ClientesBuscar = Equipos.FindAll(E => E.TCP != null); string Puerto; int EstadoFactura = 3; string HoraSalida = DateTime.Now.ToLongTimeString(); Configuraciones = new BLL.Configuraciones.AdminConfiguraciones_BLL(); CTRL.Terminal_CTRL EquipoSel; Btn_ApagarEquipos.Enabled = (Equipos.Count > 0); foreach (ENT.Terminal_ENT cClient in ClientesBuscar) { if (cClient.TCP != null && cClient.TCP.Available > 0) { EquipoSel = Ctrl_Terminales.EncontrarControlXNombre(cClient.Equipo); ContenidoRecibido = InterfazNet.Get(cClient.TCP); if (ContenidoRecibido.StartsWith("BB")) { Puerto = ContenidoRecibido.Substring(2); //validamos que el sistema tenga habilitado tiempo de ocio para los equipos y //que el tiempo consumido no este dentro del tiempo de ocio if (Configuraciones.EstaTiempoOcioActivo() && Convert.ToInt32(EquipoSel.Equipo.TiempoConsumido.TotalMinutes) <= ENT.TiposAnidados_ENT.MinutosOcio) { MessageBox.Show("El Equipo " + cClient.Equipo + " Consumió Un Tiempo Inferior Al Tiempo De Ocio, Razón Por La Que El Tiempo No Ha Sido Facturado", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { Factura.Guardar(cClient, Hoy.ToShortDateString(), HoraSalida, Usuario.Usuario, EstadoFactura); MessageBox.Show("El Tiempo Consumido : " + Convert.ToInt32(cClient.TiempoConsumido.TotalMinutes).ToString() + " Min \r Equipo Utilizado : " + cClient.Equipo + " \r Hora Inicio : " + cClient.HoraInicio.ToLongTimeString() + " \r Hora Salida : " + HoraSalida + " \r Total : " + cClient.TotalFacturar, "Orden Facturada", MessageBoxButtons.OK, MessageBoxIcon.Information); cClient.ReiniciarFactura(); EquipoSel.Equipo.ReiniciarFactura(); EquipoSel.ActualizarControles(); } } else if (ContenidoRecibido.StartsWith("TF")) { //si el servidor recibe pero el cliente aparece conectado en estado distinto, //se procede a buscar el ultimo registro de factura para el cliente y continuar. if (cClient.Estado == ENT.TiposAnidados_ENT.EstadoTerminal.Apagado | cClient.Estado == ENT.TiposAnidados_ENT.EstadoTerminal.Disponible) { Factura.ObtenerFactura(cClient); EquipoSel.CambiarEstado(ENT.TiposAnidados_ENT.EstadoTerminal.Ocupado); } String tiempo = ContenidoRecibido.Substring(2); cClient.TiempoConsumido = new TimeSpan(Convert.ToInt32(tiempo.Substring(0, 2)) , Convert.ToInt32(tiempo.Substring(3, 2)) , Convert.ToInt32(tiempo.Substring(6, 2))); cClient.TiempoConsumido = cClient.TiempoConsumido.Add(new TimeSpan(0, 0, 1)); EquipoSel.Equipo.TiempoConsumido = cClient.TiempoConsumido; EquipoSel.Equipo.Valor = Factura.ValorXTiempoConsumido(Convert.ToInt32(EquipoSel.Equipo.TiempoConsumido.TotalMinutes)); EquipoSel.ActualizarControles(); } else if (ContenidoRecibido.StartsWith("SS")) { Puerto = ContenidoRecibido.Substring(2); EliminarConexionCliente(cClient); } } } } catch (Exception) { } }