Solución propuesta al ejercicio
ServidorTCP
Notas:
En la línea 23 se abre el socket de servidor y se envía el saludo inicial
De la 27 a la 32, se espera que alguien se conecte y cuando lo hace, se presenta un mensaje por consola con los datos de conexión, se construye el stream de entrada de consola (30), y los stream de lectura (31) y de escritura (33) en el socket
Las líneas 34 a 50 son el bucle del que no saldremos hasta que aparezca la q en la entrada de consola, o en la lectura de red. (Si la q aparece en consola, la debemos enviar para que cierre el otro lado.
El bucle presenta un mensaje, lee la consola (38) y lo que recibe lo escribe en el socket (39) luego lee el socket (45), y lo que recibe lo imprime en la consola.
Tanto si se produce un error, como si se sale del bucle, se pasa por la cláusula finally que cierra los dos streams
ClienteTCP
Notas:
En la línea 20 se abre el stream de entrada de consola, para escribir los mensajes
De la 26 a la 36, se establece la conexión con el servidor, y construye los stream de lectura (28) y de escritura (27) en el socket
Las líneas 30 a 44 son el bucle del que no saldremos hasta que aparezca la q en la entrada de consola, o en la lectura de red. (Si la q aparece en consola, la debemos enviar para que cierre el otro lado.
El bucle lee el socket (32), y lo que recibe lo imprime en la consola, luego solicita un mensaje (39) por teclado y envía lo que le hayan entrado (40) al socket (41)
Tanto si se produce un error, como si se sale del bucle, se pasa por la cláusula finally que cierra los dos streams