Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sockets
Enunciado
En
esta
tarea,
usted
crear
una
breve
aplicacin
que
utiliza
el
esquema
cliente
servidor
usando
sockets,
especficamente
en
el
lenguaje
Java.
Para
esto,
deber
implementar
un
cliente
para
la
aplicacin
TareaCloud,
cuyo
servidor
se
encuentra
activo
en
la
direccin
IP
146.83.196.204,
escuchando
peticiones
en
el
puerto
5000,
a
travs
de
un
socket
TCP.
Los
clientes
que
se
comuniquen
con
el
servidor
deben
seguir
el
siguiente
protocolo:
1) Una
vez
conectado
al
servidor,
este
dar
un
mensaje
de
bienvenida
de
la
forma
BIENVENIDO:
aaaaa,
donde
aaaa
corresponde
a
un
string
no
mayor
a
300
caracteres,
que
debe
ser
desplegado
por
su
aplicacin.
Una
vez
enviado
el
mensaje
de
bienvenida,
el
servidor
espera
30
segundos
antes
de
cerrar
la
conexin,
tiempo
durante
el
cual
usted
debe
solicitar
una
conexin
privada..
Cualquiera
otra
respuesta
del
servidor,
deber
ser
considerada
como
error,
mostrndose
por
pantalla
y
dando
por
terminada
la
aplicacin.
2) El
cliente
solicita
la
conexin
privada
enviando
el
mensaje:
CONEXION
3) El
servidor
responde
OK
TCP
5xxx
o
bien
OK
UDP
6xxx
,
donde
xxx
corresponde
a
un
numero
entre
500
y
900,
correspondiente
a
un
socket
privado
para
dicho
cliente,
lo
que
significa
que
el
cliente
se
debe
conectar
al
servidor
usando
el
protocolo
indicado
(TCP
o
UDP),
en
el
puerto
indicado.
Despus
de
enviar
este
mensaje,
el
servidor
cierra
la
conexin
a. Si
la
respuesta
fue
OK
TCP
5xxx,
el
servidor
abrir
un
socket
TCP
en
el
puerto
5xxx
por
30
segundos,
a
la
espera
de
una
conexin
para
continuar
con
el
trabajo.
b. Si
la
respuesta
fue
OK
UDP
6xxx,
el
servidor
abrir
un
socket
UDP
en
el
puerto
6xxx
por
30
segundos,
a
la
espera
de
una
conexin
para
continuar
con
el
trabajo.
c. Cualquiera
otra
respuesta
del
servidor,
deber
ser
considerada
como
error,
mostrndose
por
pantalla
el
mensaje
correspondiente
y
dando
por
terminada
la
aplicacin.
4) Cuando
inicie
la
conexin
en
el
socket
privado,
el
cliente
debe
enviar
el
mensaje
GRUPO
y,
donde
y
corresponde
a
la
cantidad
de
alumnos
que
componen
el
grupo
y
es
un
nmero
entre
1
y
9.
5) La
respuesta
del
servidor
ser
OK.
Cualquiera
otra
respuesta
del
servidor,
deber
ser
considerada
como
error,
mostrndose
por
pantalla
y
dando
por
terminada
la
aplicacin
6) Una
vez
recibido
el
mensaje
OK,
el
cliente
deber
enviar
el
nombre
de
cada
uno
de
los
integrantes,
con
un
largo
mximo
de
300
caracteres.
Por
cada
uno
de
los
mensajes,
el
servidor
responder
OK.
Cualquiera
otra
respuesta
del
servidor,
deber
ser
considerada
como
error,
mostrndose
por
pantalla
y
dando
por
terminada
la
aplicacin.
Esta
operacin
deber
repetirse
y
veces.
(y
es
el
valor
del
punto
anterior).
7) Para
terminar
la
conexin,
el
cliente
enviar
el
mensaje
FIN
y
esperar
la
respuesta
OK
zzzz,
donde
zzz
corresponde
a
un
nmero
identificador
de
la
transaccin
el
cual
deber
ser
desplegado
por
pantalla,
con
0
<
zzz
<
99999.
Cualquiera
otra
respuesta
del
servidor,
deber
ser
considerada
como
error,
mostrndose
por
pantalla
y
dando
por
terminada
la
aplicacin
Implementacin
Entrega
El
trabajo
se
puede
realizar
de
forma
individual
o
en
pareja,
(pudiendo
ser
los
integrantes
de
distintas
secciones).
Debe
entregar
su
cdigo
comentado,
el
cual
debe
ser
subido
a
Moodle
antes
de
las
23:50
del
da
viernes
12
de
diciembre.
No
olvide
incluir
como
comentarios
de
cdigo,
el
nombre
de
los
integrantes,
y
el
cdigo
de
una
transaccin
exitosa.
Evaluacin
Su
tarea
ser
evaluada
usando
el
mismo
servidor
descrito
anteriormente,
pero
con
distintos
casos
de
prueba,
los
que,
junto
con
la
programacin
darn
la
nota
final.
Se
recomienda
que
usted
pruebe
tambin
usando
este
servidor
y
tome
en
consideracin
los
casos
de
prueba
posibles.
Adems,
es
importante
considerar
lo
siguiente:
Si
no
compila,
su
tarea
tendr
nota
1.0
Si
su
aplicacin
no
sigue
el
protocolo,
tendr
nota
1.0
Si
su
aplicacin
se
cae,
por
error,
o
por
una
excepcin
no
capturada,
tendr
nota
2.0
Si
su
aplicacin
no
realiza
ningn
caso
de
prueba,
tendr
nota
2.0
Observaciones