예제 #1
0
        static void Main(string[] args)
        {
            string ip     = ConfigurationManager.AppSettings["ip"];
            int    puerto = Convert.ToInt32(ConfigurationManager.AppSettings["puerto"]);

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Iniciar conexion a servidor {0} en el puerto {1}", ip, puerto);
            ClienteSocket clienteSocket = new ClienteSocket(puerto, ip);

            if (clienteSocket.Conectar())
            {
                //protocolo de comunicacion
                string mensaje = "";
                while (mensaje.ToLower() != "chao")
                {
                    Console.WriteLine("Ingrese Mensaje");
                    mensaje = Console.ReadLine().Trim();
                    clienteSocket.Escribir(mensaje);

                    if (mensaje.ToLower() != "chao")
                    {
                        mensaje = clienteSocket.Leer();
                        Console.WriteLine("S:{0}", mensaje);
                    }
                }
                clienteSocket.Desconectar();
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Error al conectar al servidor");
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            string        ip            = ConfigurationManager.AppSettings["ip"];
            int           puerto        = Convert.ToInt32(ConfigurationManager.AppSettings["puerto"]);
            ClienteSocket clienteSocket = new ClienteSocket(ip, puerto);

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Conectandose al servidor {0} en el puerto {1}", ip, puerto);
            if (clienteSocket.Conectar())
            {
                //Comunicarme
                Console.WriteLine("Cliente Conectado..");

                //Hacer el protocolo de comunicacion
                String mensaje = "";
                while (mensaje.ToLower() != "chao")
                {
                    Console.WriteLine("Guigame go que quiegue guegir gogejor goja");
                    mensaje = Console.ReadLine().Trim();
                    Console.WriteLine("C:{0}", mensaje);
                    clienteSocket.Escribir(mensaje);
                    if (mensaje.ToLower() != "chao")
                    {
                        mensaje = clienteSocket.Leer();
                        Console.WriteLine("S:{0}", mensaje);
                    }
                }
                clienteSocket.Desconectar();
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Error de Conexion");
            }
        }
예제 #3
0
        static void Main(string[] args)
        {
            string        ip            = ConfigurationManager.AppSettings["ip"];
            int           puerto        = Convert.ToInt32(ConfigurationManager.AppSettings["puerto"]);
            ClienteSocket clienteScoket = new ClienteSocket(ip, puerto);

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("conectandose al servidor {0} en el puerto {1}", ip, puerto);
            if (clienteScoket.Conectar())
            {
                Console.WriteLine("cliente conectado..");

                string mensaje = "";
                while (mensaje.ToLower() != "chao")
                {
                    Console.WriteLine("diga lo que quiere decir:");
                    mensaje = Console.ReadLine().Trim();
                    Console.WriteLine(" C: {0}", mensaje);
                    clienteScoket.Escribir(mensaje);
                    if (mensaje.ToLower() != "chao")
                    {
                        mensaje = clienteScoket.leer();
                        Console.WriteLine(" S: {0}", mensaje);
                    }
                }
                clienteScoket.Desconectar();
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("error  de connexion");
            }
        }
예제 #4
0
        static void GenerarComunicacion(ClienteSocket clienteSocket)
        {
            Console.Clear(); //limpia la pantalla
            bool terminar = false;

            while (!terminar)
            {
                Console.WriteLine("Ingrese que quiere decir:");
                string mensaje = Console.ReadLine().Trim();
                clienteSocket.Escribir(mensaje);
                if (mensaje.ToLower() == "chao")
                {
                    terminar = true;
                }
                else
                {
                    mensaje = clienteSocket.Leer();
                    if (mensaje != null)
                    {
                        Console.WriteLine("S:{0}", mensaje);
                        if (mensaje.ToLower() == "chao")
                        {
                            terminar = true;
                        }
                    }
                    else
                    {
                        terminar = true;
                    }
                }
            }
            clienteSocket.Desconectar();
        }
예제 #5
0
        static void Main(string[] args)
        {
            //  int puerto = Convert.ToInt32(ConfigurationManager.AppSettings["puerto"]);
            // string servidor = ConfigurationManager.AppSettings["servidor"];
            Console.WriteLine("Ingrese servidor");
            string servidor = Console.ReadLine().Trim();

            Console.WriteLine("Ingrese puerto");
            int puerto = Convert.ToInt32(Console.ReadLine().Trim());

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Conectando a Servidor {0} en puerto {1}", servidor, puerto);
            ClienteSocket clienteSocket = new ClienteSocket(servidor, puerto);

            if (clienteSocket.Conectar())
            {
                Console.WriteLine("Conectado..");
                //recibir lo que envió el servidor, el orden de estas acciones depende del protocolo
                string mensaje = clienteSocket.Leer();
                Console.WriteLine("M:{0}", mensaje);
                string nombre = Console.ReadLine().Trim();
                clienteSocket.Escribir(nombre);
                mensaje = clienteSocket.Leer();
                Console.WriteLine("M:{0}", mensaje);
                clienteSocket.Desconectar();
            }
            else
            {
                Console.WriteLine("Error de Comunicación");
            }
            Console.ReadKey();
        }
예제 #6
0
        static void Main(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("Ingrese Servidor:\n> ");
            string servidor = Console.ReadLine().Trim();
            int    puerto;

            do
            {
                Console.Write("Ingrese Puerto:\n> ");
            } while (!Int32.TryParse(Console.ReadLine().Trim(), out puerto));



            Console.WriteLine("Conectando a Servidor {0} en puerto {1}", servidor, puerto);
            ClienteSocket clienteSocket = new ClienteSocket(servidor, puerto);

            if (clienteSocket.Conectar())
            {
                Console.WriteLine("Conectando...");

                string mensaje;

                try
                {
                    while (true)
                    {
                        Console.Write("Escriba un mensaje:\n> ");
                        mensaje = Console.ReadLine().Trim();
                        clienteSocket.Escribir(mensaje);
                        if (mensaje.ToLower() == "chao")
                        {
                            throw new Exception();
                        }
                        Console.WriteLine("Esperando a servidor...");
                        mensaje = clienteSocket.Leer();
                        Console.WriteLine("[Server] {0}", mensaje);
                        if (mensaje.ToLower() == "chao")
                        {
                            throw new Exception();
                        }
                    }
                } catch (Exception ex)
                {
                    clienteSocket.Desconectar();
                    Console.WriteLine("[Info] Servidor se a desconectado");
                }
            }
            else
            {
                Console.WriteLine("Error de comunicación");
            }
            Console.ReadKey();
        }
 public void Ejecutar()
 {
     server = new ServerSocket(puerto);
     Console.WriteLine("Iniciando server en puerto {0}", puerto);
     if (server.Iniciar())
     {
         Console.WriteLine("Servidor Iniciado");
         while (true)
         {
             Console.WriteLine("Esperando Clientes...");
             ClienteSocket clienteSocket = server.ObtenerCliente();
             HiloCliente   hiloCliente   = new HiloCliente(clienteSocket);
             Thread        t             = new Thread(new ThreadStart(hiloCliente.Ejecutar));
             t.IsBackground = true;
             t.Start();
         }
     }
 }
예제 #8
0
        static void Main(string[] args)
        {
            string ip     = ConfigurationManager.AppSettings["ip"];
            int    puerto = Convert.ToInt32(ConfigurationManager.AppSettings["puerto"]);

            ClienteSocket clienteSocket = new ClienteSocket(ip, puerto);

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Conectandose al servidor {0} en el puerto {1}", ip, puerto);
            if (clienteSocket.Conectar())
            {
                Console.WriteLine("Cliente Conectado.");
                Console.WriteLine(clienteSocket.Leer());
                string prueba = Console.ReadLine();
                clienteSocket.Escribir(prueba);
                string comprobar = clienteSocket.Leer();
                if (comprobar.Contains("WAIT"))
                {
                    Console.WriteLine("Número Medidor|Fecha|Tipo|Valor|Estado (opcional)|UPDATE");
                    string input = Console.ReadLine();
                    clienteSocket.Escribir(input);
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine(clienteSocket.Leer());
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Solicitud rechazada");
                }
                try
                {
                    Console.WriteLine(clienteSocket.Leer());
                }
                catch (NullReferenceException ex)
                {
                    Console.WriteLine("ERROR");
                }
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Error de conexión");
            }
        }
예제 #9
0
        static void Main(string[] args)
        {
            // Obtenemos y convertimos a número el puerto en App.config
            int    puerto = Convert.ToInt32(ConfigurationManager.AppSettings["puerto"]);
            string ip     = ConfigurationManager.AppSettings["ip"];

            // Levantamos un servidor en puerto indicado en App.config
            ServerSocket servidor = new ServerSocket(puerto);

            if (servidor.Iniciar())
            {
                Console.WriteLine($"Escuchando clientes en el puerto {puerto}");
                Socket socketCliente = servidor.ObtenerCliente();
                Console.WriteLine("Nuevo cliente conectado");
                ClienteSocket clienteSocket = new ClienteSocket(socketCliente);


                // Todo OK al iniciar
                while (true)
                {
                    clienteSocket.Escribir("Hola mundo");
                    string mensaje = clienteSocket.Leer();


                    if (mensaje.ToLower().Equals("q"))  //mensaje == "q")
                    {
                        clienteSocket.DesconectarCliente();
                        System.Environment.Exit(0);
                    }
                    else
                    {
                        Console.WriteLine($"Respuesta: {mensaje}");
                    }
                }
            }
            else
            {
                // Falló al iniciar
                Console.WriteLine("Falló al iniciar el servidor socket");
            }
        }
예제 #10
0
        static void Main(string[] args)
        {
            int    puerto   = Convert.ToInt32(ConfigurationManager.AppSettings["puerto"]);
            string servidor = ConfigurationManager.AppSettings["servidor"];

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Conectando a Servidor {0} en puerto {1}", servidor, puerto);
            ClienteSocket clienteSocket = new ClienteSocket(servidor, puerto);

            if (clienteSocket.Conectar())
            {
                Console.WriteLine("Conectado..");
                //recibir lo que envió el servidor, el orden de estas acciones depende del protocolo
                Console.WriteLine("Ingrese ID de Medidor");
                int idMedidor = Convert.ToInt32(Console.ReadLine().Trim());
                Console.WriteLine("Ingrese Fecha");
                DateTime fecha = Convert.ToDateTime(Console.ReadLine().Trim());
                Console.WriteLine("Ingrese Consumo");
                Double consumo = Convert.ToDouble(Console.ReadLine().Trim());

                string mensaje = idMedidor + "|" + fecha.ToString("yyyy-MM-dd-HH-mm-ss") + "|" + consumo;

                if (clienteSocket.Escribir(mensaje))
                {
                    Console.WriteLine("S: {0}", clienteSocket.Leer());
                }
                else
                {
                    Console.WriteLine("S: {0}", clienteSocket.Leer());
                }
                clienteSocket.Desconectar();
            }
            else
            {
                Console.WriteLine("Error de Comunicación");
            }
            Console.ReadKey();
        }
예제 #11
0
        static void Main(string[] args)
        {
            Console.WriteLine("Ingrese servidor");
            string servidor = Console.ReadLine().Trim();
            int    puerto;

            do
            {
                Console.WriteLine("Ingrese puerto");
            } while (!Int32.TryParse(Console.ReadLine().Trim(), out puerto));

            Console.WriteLine("Conectando..");
            ClienteSocket clienteSocket = new ClienteSocket(servidor, puerto);

            if (clienteSocket.Conectar())
            {
                GenerarComunicacion(clienteSocket);
            }
            else
            {
                Console.WriteLine("Error de comunicación ");
            }
            Console.ReadKey();
        }
 public HiloCliente(ClienteSocket clienteSocket)
 {
     this.clienteSocket = clienteSocket;
 }
예제 #13
0
        static void Main(string[] args)
        {
            string ip     = ConfigurationManager.AppSettings["ip"];
            int    puerto = Convert.ToInt32(ConfigurationManager.AppSettings["puerto"]);

            Console.ForegroundColor = ConsoleColor.Magenta;
            Console.WriteLine("Conectado a {0}:{1}", ip, puerto);
            ClienteSocket conServidor = new ClienteSocket(puerto, ip);

            //do {
            if (conServidor.Conectar())
            {
                /*conServidor.Escribir("Hola mundo");
                 * string mensaje = conServidor.Leer();
                 * Console.WriteLine(mensaje);*/
                string tipo, mensajeServidor, estado, fecha, respuesta;
                string valor, nroMedidor;
                int    valorMedidor;
                int    valorValor;
                do
                {
                    do
                    {
                        try
                        {
                            Console.WriteLine("Ingrese la id del medidor");
                            valorMedidor = Convert.ToInt32(Console.ReadLine());
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Dato ingresado no es un valor aceptado");
                            valorMedidor = 0;
                        }
                    } while (valorMedidor == 0);
                    nroMedidor = Convert.ToString(valorMedidor);
                    do
                    {
                        try {
                            Console.WriteLine("Ingrese tipo del medidor");
                            tipo = Console.ReadLine().Trim().ToLower();
                            if (tipo == "consumo")
                            {
                            }
                            else if (tipo == "trafico")
                            {
                            }
                            else
                            {
                                tipo = null;
                            }
                        }catch (Exception ex) {
                            tipo = null;
                            Console.WriteLine("Ingrese un tipo correspondiente");
                        }
                    } while (tipo == null);
                    fecha = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");
                    conServidor.Escribir(fecha + '|' + nroMedidor + '|' + tipo);

                    mensajeServidor = conServidor.Leer();
                    Console.WriteLine(mensajeServidor);
                    if (mensajeServidor.Contains("WAIT"))
                    {
                    }
                    else
                    {
                        Console.WriteLine("El medidor ingresado no existe en el sistema");
                        conServidor.CerrarConexion();
                        Console.ReadKey();
                        return;
                    }

                    //} while (mensajeServidor.Contains("ERROR"));

                    do
                    {
                        try {
                            Console.WriteLine("Ingrese valor:");
                            valorValor = Convert.ToInt32(Console.ReadLine());
                            if (valorValor > 1000 || valorValor < 0)
                            {
                                valorValor = 2000;
                            }
                        }
                        catch (Exception ex)
                        {
                            valorValor = 2000;
                            Console.WriteLine("El dato ingresado no está dentro de los parametros");
                        }
                    } while (valorValor == 2000);
                    valor = Convert.ToString(valorValor);
                    do
                    {
                        Console.WriteLine("¿Desea ingresar estado?");
                        respuesta = Console.ReadLine().Trim().ToLower();
                        if (respuesta == "si")
                        {
                            Console.WriteLine("Ingrese estado");
                            estado = Console.ReadLine();
                            if (estado == "-1")
                            {
                            }
                            else if (estado == "0")
                            {
                            }
                            else if (estado == "1")
                            {
                            }
                            else if (estado == "2")
                            {
                            }
                            else
                            {
                                estado = "error";
                            }
                        }
                        else if (respuesta == "no")
                        {
                            estado = null;
                        }
                        else
                        {
                            respuesta = null; Console.WriteLine("Ingrese el texto correspondiente");
                            estado    = "error";
                        }
                    } while (respuesta == null || estado == "error");
                } while (mensajeServidor == string.Empty);


                fecha = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");

                if (estado != null)
                {
                    conServidor.Escribir(nroMedidor + '|' + fecha + '|' + tipo + '|' + valor + '|' + estado + '|' + "UPDATE");
                }
                else
                {
                    conServidor.Escribir(nroMedidor + '|' + fecha + '|' + tipo + '|' + valor + '|' + "sin lectura" + '|' + "UPDATE");
                }
                mensajeServidor = conServidor.Leer();
                Console.WriteLine(mensajeServidor);
                conServidor.CerrarConexion();
                Console.WriteLine("Conexión cerrada");
                Console.ReadKey();
            }
        }
예제 #14
0
        static void Main(string[] args)
        {
            string ip     = ConfigurationManager.AppSettings["ip"];
            int    puerto = Convert.ToInt32(ConfigurationManager.AppSettings["puerto"]);

            ClienteSocket clienteSocket = new ClienteSocket(ip, puerto);

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Conectandose al servidor {0} en el puerto {1}", ip, puerto);
            if (clienteSocket.Conectar())
            {
                string estado = "";

                Console.WriteLine("ingrese tipo de Medidor: 'consumo' o 'trafico'");
                string tipo = Console.ReadLine().Trim();

                Console.WriteLine("ingrese Numero de medidor");
                string nroSerie = Console.ReadLine().Trim();

                Console.WriteLine("Ingrese Fecha");
                string fechaString = Console.ReadLine().Trim();

                Console.WriteLine("Ingrese valor");
                string valorstring = Console.ReadLine().Trim();

                Console.WriteLine("Ingrese Estado (opcional)");
                estado = Console.ReadLine().Trim();

                string mensaje = fechaString + "|" + nroSerie + "|" + tipo;

                clienteSocket.Escribir(mensaje);

                string respuesta = clienteSocket.Leer();
                Console.WriteLine(respuesta);

                if (respuesta.Contains("WAIT"))
                {
                    string mensaje2;

                    if (estado == string.Empty)
                    {
                        mensaje2 = nroSerie + "|" + fechaString + "|" + tipo + "|" + valorstring + "|UPDATE";
                    }
                    else
                    {
                        mensaje2 = nroSerie + "|" + fechaString + "|" + tipo + "|" + valorstring + "|" + estado + "|UPDATE";
                    }
                    clienteSocket.Escribir(mensaje2);
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine(clienteSocket.Leer());
                }
                else
                {
                    try
                    {
                        Console.WriteLine(clienteSocket.Leer());
                    }
                    catch (NullReferenceException)
                    {
                        Console.WriteLine("Conexion rechazada");
                    }
                }
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Error de conexión");
            }
        }