Fundamentos de Redes
Curs 2013-2014
Pràctica 1: Aplicació client/servidor per a la implementació
d’una eina per a l’automatrícula.
1 Objectiu
En aquesta pràctica veureu les comunicacions entre dues aplicacions situades a màquines
diferents utilitzant sockets. Per això, desenvolupareu una parella d’aplicacions client/servidor en C.
2 Enunciat
S’implementaran dues aplicacions, unclient i un servidor per a dur a terme l’automatrícula
d’un estudiant.
Des de l’aplicació client es podrà indicar de quines assignatures ens volem matricular i formalitzar la matriculació.
Des de l’aplicació servidora es rebran les peticions de matriculació fetes pels clients i es farà
efectiva la matriculació.
A continuació es detalla la funcionalitat de l’aplicació.
3 Aplicació dematriculació
L’aplicació client oferirà a l’estudiant un menú per poder gestionar l’automatrícula. A través
d’aquest menú l’estudiant podrà fer les següents operacions:
HELLO És una funcionalitat de test per veure si ens funciona bé la comunicació bidireccional entre les aplicacions client i servidor. El client envia un missatge de tipus
HELLO i en rebre la resposta del servidor, mostra per pantallael camp del missatge.
1
INIT El client indica la seva voluntat de crear una proposta de matrícula on poder afegir
assignatures. El servidor crearà aquesta proposta de matrícula.
ADD codi_assignatura Afegeix l’assignatura amb codi codi_assignatura a la proposta de matrícula.
DEL codi_assignatura Elimina l’assignatura amb codi codi_assignatura de la
proposta de matrícula.
LIST Llistatotes les assignatures disponibles per matricular.
SHOW Mostra totes les assginatures afegides a la proposta de matrícula.
EXEC Es procedeix a l’execució de la proposta de matriculació de les assignatures afegides
a la proposta de matrícula.
4 Client
L’estudiant executarà l’aplicació client per fer l’automatrícula.
En executar l’aplicació se li mostrarà un menú amb totes les operacionsdisponibles.
A través de la línia de comandes, l’usuari indicarà quina opció de menú ha triat.
Quan l’usuari executa l’aplicació client, el resultat de l’execució hauría de ser el següent:
# regClient deic-dc15.uab.es 8311
0.Hello
1.Llistat d’assignatures disponibles
2.Consultar la proposta de matrícula
3.Crear la proposta de matrícula
4.Afegir assignatura a la proposta de matrícula
5.Eiminarassignatura de la proposta de matrícula
6.Fer efectiva la matrícula
7.Sortir
Opció? 4
Introdueixi el codi de l’assignatura?
Un cop l’usuari selecciona una opció de menú, se li envia un missatge al servidor amb l’opció
de menú seleccionada, i si s’escau, els seus paràmetres, i s’espera una resposta del servidor.
Si cal, el client mostra per pantalla la resposta del servidor. A continuaciótorna a mostrar el
menú per a que l’usuari pugui continuar el procés d’automatrícula.
2
Per llençar l’aplicació client la sintaxi serà la següent:
./regClient -h host [-p port]
on
-h host És el host on s’està executant el servidor, p.e: deic-dc23.uab.es o bé 158.109.70.227.
-p port És el port a on s’està executant el servidor. Aquest paràmetre és opcional, si no
s’especifica pren unvalor per defecte.
Un exemple de la sortida d’aquesta crida podria ser:
5 Servidor de matriculació
El servidor, quan rep del client una petició de creació d’una proposta de matrícula, crea una
estructura en memòria on va emmagatzemant totes les assignatures que l’estudiant va afegint
a la proposta de matriculació.
El servidor ha de tenir un socket escoltant per un port les peticions que liarriben dels diferents clients. Un cop hi hagi una connexió amb un client, el servidor s’encarregarà d’atendre
les comandes que li enviï el client, executar-les i tornar-li una resposta.
Un cop el client enviï el missatge de finalització del procès d’automatrícula, el servidor tancarà la connexió establerta amb aquest client.
El servidor l’anomenarem regServer.
Per llençar el servidor caldrà...
Regístrate para leer el documento completo.