コード例 #1
0
        static void Main(string[] args)
        {
            //Creacion del socket en el que vamos a escuchar
            int         puerto        = 8080;
            TcpListener socketEscucha = new TcpListener(IPAddress.Any, puerto);

            socketEscucha.Start();

            //Aceptamos al cliente
            TcpClient cliente = socketEscucha.AcceptTcpClient();

            //Utilizamos la libreria Codificador para poder Decifrar el texto
            DecodificadorTexto decodificador = new DecodificadorTexto();
            Elemento           elemento      = decodificador.Decodificar(cliente.GetStream());

            //Se muestra el mensaje cifrado
            Console.WriteLine("Se recibio un elemento codificado en texto:");
            Console.WriteLine(elemento);

            DecodificadorTexto decodificador1 = new DecodificadorTexto();
            Elemento           elemento1      = decodificador1.Decodificar(cliente.GetStream());

            Console.WriteLine("Se recibio un elemento codificado en texto:");
            Console.WriteLine(elemento1);
            //Se codifica de nuevo el mensaje para su renvio
            CodificadorBinario codificador = new CodificadorBinario();

            elemento.precio += 10;

            CodificadorBinario codificador1 = new CodificadorBinario();

            elemento1.precio += 10;

            //Se envia al cliente el mensaje nuevamente codificado.
            Console.Write("Enviando elemento en binario...");
            byte[] bytesParaEnviar = codificador.Codificar(elemento);
            Console.WriteLine("(" + bytesParaEnviar.Length + " bytes): ");
            cliente.GetStream().Write(bytesParaEnviar, 0, bytesParaEnviar.Length);

            Console.Write("Enviando elemento en binario...");
            byte[] bytesParaEnviar1 = codificador1.Codificar(elemento1);
            Console.WriteLine("(" + bytesParaEnviar1.Length + " bytes): ");
            cliente.GetStream().Write(bytesParaEnviar1, 0, bytesParaEnviar1.Length);


            cliente.Close();

            socketEscucha.Stop();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            //Puerto de escucha del servidor
            int puerto = 8082;
            //se crea el objeto con el cual el servidor iniciará  la escucha.
            TcpListener socketEscucha = new TcpListener(IPAddress.Any, puerto);

            //Se inicializa la escucha
            socketEscucha.Start();
            //Se acepta el intento de conexión del cliente
            TcpClient cliente = socketEscucha.AcceptTcpClient();
            //se llama a decodificar texto, para decodificarlo y mostrarlo en consola
            DecodificadorTexto decodificador = new DecodificadorTexto();
            Elemento           elemento      = decodificador.Decodificar(cliente.GetStream());

            Console.WriteLine("Se recibio un elemento codificado en texto:");
            Console.WriteLine(elemento);

            //se procede a codificar en binario y a enviarlo.
            CodificadorBinario codificador = new CodificadorBinario();

            elemento.precio += 10;
            Console.Write("Enviando elemento en binario...");
            byte[] bytesParaEnviar = codificador.Codificar(elemento);
            Console.WriteLine("(" + bytesParaEnviar.Length + " bytes): ");
            cliente.GetStream().Write(bytesParaEnviar, 0, bytesParaEnviar.Length);

            // ### Modifica el programa para enviar dos elementos y recibir dos elementos.
            // ### Si  se requiere ver el funcionamiento original del programa comente las siguientes
            // ### lineas hasta encontrar la linea //###

            elemento = decodificador.Decodificar(cliente.GetStream());
            Console.WriteLine("Se recibio un elemento codificado en texto:");
            Console.WriteLine(elemento);
            //se procede a codificar en binario y a enviarlo.
            codificador      = new CodificadorBinario();
            elemento.precio += 10;
            Console.Write("Enviando elemento en binario...");
            bytesParaEnviar = codificador.Codificar(elemento);
            Console.WriteLine("(" + bytesParaEnviar.Length + " bytes): ");
            cliente.GetStream().Write(bytesParaEnviar, 0, bytesParaEnviar.Length);

            //###

            //se cierra la conexión del cliente
            cliente.Close();
            //se termina la escucha
            socketEscucha.Stop();
        }