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(); }
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(); }