RC [entrega] [Practica 1] [Practica 2] [Practica 3] [Practica 4] [Practica 5] [info ssh] [info git]

Práctica 2 - Retos extras

Para los que acaben la práctica antes de la ultima sesión y necesiten retos extras

Cliente TCP mejorado

Modifique el programa envía para que cumpla la siguiente especificación:

FORMATO
    envia <servidor_ip_o_nombre> <puerto>


DESCRIPCIÓN
    Establece una conexión TCP a <servidor_ip_o_nombre> y <puerto> indicados. 
    <servidor_ip_o_nombre> puede ser una dirección IP o un nombre de servidor en cuyo caso debe usar
    la funcion gethostbyname para obtener la dirección IP a la que conectarse.
    
    Una vez establecida el programa se mantendrá leyendo la entrada estandar y enviando cada linea
    por la conexión hasta que el usuario introduzca Control-D


EJEMPLOS
    $ envia 10.1.1.112 5000
    hola
    que pasa
    ^D
    $ envia tlm33 4500
    que pasa por ahi
    ^D

Cliente y servidor UDP mejorados

Modifique los programas envia_udp y recibe_udp para que permitan soporte de la dirección de broadcast.

El programa envia_udp tiene que cumplir la siguiente especificación:

FORMATO
    envia_udp <direccion_ip> <puerto> <mensaje>


DESCRIPCIÓN
    Envía el <mensaje> en un datagrama UDP a <direccion_ip> y <puerto> indicados.
    Tras esto sale del programa sin esperar respuesta del servidor.
    Si <direccion_ip> es la direccion de broadcast 255.255.255.255 el mensaje debe enviarse a todos
    los ordenadores de esa red para ello debera activar el modo broadcast del socket.

    El <mensaje> puede ser una única palabra o varias entre comillas.
    La <direccion_ip> será del tipo 10.1.1.121, no puede ser un nombre simbólico.


EJEMPLOS
    envia_udp 10.1.1.112 5000 hola
    # El mensaje llega a la direccion 10.1.1.112 al puerto 5000
    envia_udp 255.255.255.255 5000 hola      
    # El mensaje llega a todas las direcciones de esta red de area local

El programa recibe_udp tiene la misma especificacion de antes pero debe recibir los mensajes de broadcast.