示例#1
0
        public void aceptar_conexion()
        {
            try
            {
                IPlocal  = IPAddress.Parse(parametrosconfig.ip);
                servidor = new TcpListener(IPlocal, parametrosconfig.puerto);
                servidor.Start();
                opc = true;
                /*Monitorea el estado de la conexion*/
                hiloMonitor = new Thread((ThreadStart)verificarEstadoConexion);
                hiloMonitor.Start();
                /*Ingresa a un lazo repetitivo para validar esperar varias conexiones*/
                while (opc)
                {
                    cliente = servidor.AcceptTcpClient();
                    mensaje_error_sistema("Conexion ip " + cliente.Client.RemoteEndPoint.ToString().Split(':')[0] + " remota", Color.Blue);
                    AtmObj atmIng = verificarIpAutorizada(cliente.Client.RemoteEndPoint.ToString().Split(':')[0]);

                    if (atmIng != null)
                    {
                        //conBdd.abrir_conexion_base();
                        atmIng.conexion = true;
                        conBdd.actualizar_terminal(atmIng);
                        //conBdd.cerrar_conexion_base();
                        mensaje_error_sistema("Ip " + cliente.Client.RemoteEndPoint.ToString().Split(':')[0] + " remota - aceptada ", Color.Green);
                        ConexionTCP clien = new ConexionTCP(cliente, parametrosconfig, this.visor, atmIng, conBdd);
                        clien.datoIn   += new datoIngresoServicio(obtener_tramaIn);
                        clien.datoResp += new datoIngresoServicio(obtener_tramaRespuesta);
                        terminalesConectadas.Add(clien);
                        if (opc)
                        {
                            try
                            {
                                hiloServidor = new Thread((ThreadStart)clien.cliente_servicio);
                                hiloServidor.Start();
                            }
                            catch (Exception excli)
                            {
                                mensaje_error_sistema(excli.Message, Color.Red);
                            }
                        }
                    }
                    else
                    {
                        cliente.Close();
                        mensaje_error_sistema("No autorizada para conectarse ...", Color.Red);
                    }
                }
            }
            catch (SocketException ex)
            {
                mensaje_error_sistema(" " + ex.Message, Color.Red);
            }
            finally
            {
                servidor.Stop();
            }
        }
示例#2
0
        public void aceptar_conexion()
        {
            try
            {
                IPlocal = IPAddress.Parse(parametrosconfig.ip);
                servidor = new TcpListener(IPlocal, parametrosconfig.puerto);
                servidor.Start();
                opc = true;
                /*Monitorea el estado de la conexion*/
                hiloMonitor = new Thread((ThreadStart)verificarEstadoConexion);
                hiloMonitor.Start();
                /*Ingresa a un lazo repetitivo para validar esperar varias conexiones*/
                while (opc)
                {
                    cliente = servidor.AcceptTcpClient();
                    mensaje_error_sistema("Conexion ip "+cliente.Client.RemoteEndPoint.ToString().Split(':')[0] +" remota",Color.Blue);
                    AtmObj atmIng = verificarIpAutorizada(cliente.Client.RemoteEndPoint.ToString().Split(':')[0]);

                    if (atmIng != null)
                    {
                        //conBdd.abrir_conexion_base();
                        atmIng.conexion = true;
                        conBdd.actualizar_terminal(atmIng);
                        //conBdd.cerrar_conexion_base();
                        mensaje_error_sistema("Ip " + cliente.Client.RemoteEndPoint.ToString().Split(':')[0] + " remota - aceptada ", Color.Green);
                        ConexionTCP clien = new ConexionTCP(cliente, parametrosconfig, this.visor,atmIng,conBdd);
                        clien.datoIn += new datoIngresoServicio(obtener_tramaIn);
                        clien.datoResp += new datoIngresoServicio(obtener_tramaRespuesta);
                        terminalesConectadas.Add(clien);
                        if (opc)
                        {
                            try
                            {
                                hiloServidor = new Thread((ThreadStart)clien.cliente_servicio);
                                hiloServidor.Start();
                            }
                            catch (Exception excli)
                            {
                                mensaje_error_sistema(excli.Message, Color.Red);
                            }
                        }
                    }
                    else {
                        cliente.Close();
                        mensaje_error_sistema("No autorizada para conectarse ...", Color.Red);
                    }
                }
            }
            catch (SocketException ex)
            {
                mensaje_error_sistema(" "+ex.Message, Color.Red);
            }
            finally
            {
                servidor.Stop();
            }
        }