Sie sind auf Seite 1von 2

Tarea Unidad 4

El objetivo del ejercicio es programar una aplicacin Cliente/Servidor con sockets TCP. Utilizaremos la misma m uina para ejecutar los programas Servidor ! Clientes" local#ost$ ! el puerto %&%& como puerto para la comunicacin. 'a utilizacin de la misma m uina se plantea a e(ectos de simpli(icar la prueba de la misma. 'a aplicacin Servidor debe permitir atender a varios Clientes de manera concurrente arrancando un #ilo de ejecucin para cada )conversacin* con cada nuevo cliente conectado. 'a aplicacin+ una vez ue el programa Cliente #a!a iniciado la cone,in con el Servidor+ solicitar a la persona ue ejecuta el programa Cliente ue se identi(i ue a trav-s de un usuario ! contrase.a. El programa Servidor solo admite cone,iones de Clientes identi(icados a trav-s de los siguientes usuarios" Usuario /" usuario/usuario Usuario %" admin/admin Si la combinacin usuario/contrase.a no coincide con alguna de las anteriores+ el Servidor rec#azar la comunicacin e in(ormar de ello al programa Cliente uien a su vez in(ormar a trav-s de un mensaje a la persona ue ejecuta el programa Cliente. En el caso ue la combinacin usuario/contrase.a sea correcta+ el programa Servidor admitir la cone,in ! el programa Cliente mostrar al usuario las opciones correspondientes a los servicios o(ertados por la aplicacin" 1. 1. Jugar a adivinar un nmero secreto generado por el Servidor . En este caso el Servidor debe generar un n0mero secreto de (orma aleatoria entre & ! /&&. El objetivo de esta opcin es jugar a adivinar el n0mero secreto ue guarda el Servidor ! as1 el programa Cliente solicitar al usuario ue introduzca n0meros de manera consecutiva ue enviar al Servidor #asta ue adivine el n0mero secreto. Para ello+ el Servidor para cada n0mero ue le env1a el Cliente+ le indicar si est lejos del n0mero secreto 2si la di(erencia entre el n0mero secreto ! el enviado por el Cliente es superior a /&3+ cerca del n0mero secreto 2si la di(erencia entre el n0mero secreto ! el enviado por el Cliente es superior a 4 e in(erior o igual a /&3 o mu! cerca del n0mero secreto ue guarda 2si la di(erencia entre el n0mero secreto ! el enviado por el Cliente es in(erior o igual a 43. Esta opcin es vlida tanto para el Usuario / como para el Usuario %. 2. Listar el contenido del directorio por defecto del Servidor . En este caso el Servidor debe enviar+ mensaje a mensaje+ al programa Cliente+ el nombre de los (ic#eros ue contiene su directorio por de(ecto+ digamos+ por ejemplo+ c"5de(ault 2para usuarios 6indo7s3 o /#ome/de(ault 2para usuarios 'inu,3. El programa Cliente mostrar en su salida estndar el contenido del directorio por de(ecto del Servidor. Esta opcin es solamente vlida para el Usuario %+ as1+ si el Cliente est identi(icado a trav-s del Usuario / ! solicita del Servidor esta opcin recibir un mensaje indicndole ue no est autorizado. Para codi(icar esta opcin+ el programa Servidor puede utilizar el m-todo list23 de la clase 8ile ue devuelve un arra! de Strings conteniendo el nombre de los arc#ivos de un directorio. 3. 3. Mostrar el nombre tama!o del arc"ivo m#s grande del directorio por defecto del Servidor. En este caso el Servidor enviar al Cliente el nombre ! el tama.o del arc#ivo de ma!or tama.o de su directorio por de(ecto+ digamos+ por ejemplo+ c"5de(ault 2para usuarios 6indo7s3 o /#ome/de(ault 2para usuarios 'inu,3. El programa Cliente mostrar esta in(ormacin en su salida estndar. Esta opcin es solamente vlida para el Usuario %+ as1+ si el Cliente est identi(icado a trav-s del Usuario / ! solicita del Servidor esta opcin recibir un mensaje indicndole ue no est

2.

autorizado. Para codi(icar esta opcin+ el programa Servidor puede utilizar el m-todo list8iles23 de la clase 8ile ue devuelve un arra! de objetos 8ile relativos a cada componente de un directorio. $untuaci%n para la &ctividad' $rograma Servidor atiende de manera concurrente con "ilos a los (lientes conectados' 1 punto. )dentificaci%n del usuario' 1 punto. $rogramaci%n de *pci%n 1 en Servidor (liente' 2 puntos $rogramaci%n de *pci%n 2 en Servidor (liente' 2 puntos $rogramaci%n de *pci%n 3 en Servidor (liente' 3 puntos documentaci%n del c%digo con comentarios' 1 punto

(laridad+ correcta estructuraci%n

Das könnte Ihnen auch gefallen