07.05.2013 Views

Examen de Redes - ETSIA – 9 de septiembre - Primer Parcial

Examen de Redes - ETSIA – 9 de septiembre - Primer Parcial

Examen de Redes - ETSIA – 9 de septiembre - Primer Parcial

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4. (2 puntos) Dado el siguiente servidor escrito en Java:<br />

import java.net.*;<br />

import java.io.*;<br />

class servidor {<br />

public static void main(String args[]) throws IOException {<br />

ServerSocket ss=new ServerSocket(7777);<br />

while (true) {<br />

Socket s=ss.accept();<br />

PrintWriter out = new PrintWriter(s.getOutputStream(),true);<br />

out.println("Bienvenido!");<br />

s.close(); }<br />

}<br />

}<br />

a) Escribe un cliente en Java que se conecte a este servidor que se ejecuta en “zoltar.re<strong>de</strong>s.upv.es”,<br />

lea la información que envía el servidor y la visualice por pantalla.<br />

import java.net.*;<br />

import java.io.*;<br />

class cliente {<br />

public static void main(String args[]) throws UnknownHostException,IOException {<br />

Socket s = new Socket("zoltar.re<strong>de</strong>s.upv.es",7777);<br />

BufferedRea<strong>de</strong>r entrada =<br />

new BufferedRea<strong>de</strong>r(new InputStreamRea<strong>de</strong>r(s.getInputStream()));<br />

System.out.println(entrada.readLine());<br />

}<br />

}<br />

b) Diseña una versión concurrente <strong>de</strong>l servidor.<br />

import java.io.*;<br />

import java.net.*;<br />

class servidorConcurrente extends Thread {<br />

}<br />

Socket sock;<br />

servidorConcurrente(Socket s) { sock = s; }<br />

public void run() {<br />

try {<br />

PrintWriter salida = new PrintWriter(sock.getOutputStream(),true);<br />

salida.println("Bienvenido!");<br />

sock.close();<br />

}<br />

catch (Exception e) { }<br />

}<br />

public static void main(String[] args) throws IOException {<br />

ServerSocket ss=new ServerSocket(7777);<br />

while (true) {<br />

Socket s=ss.accept();<br />

servidorConcurrente t = new servidorConcurrente(s);<br />

t.start();<br />

}<br />

}<br />

5. (2 puntos) Tras resolver el nombre <strong>de</strong> un servidor web, un cliente se conecta a él para obtener una página<br />

que contiene un documento HTML <strong>de</strong> 100 bytes y dos gráficos <strong>de</strong> 3000 bytes cada uno (3 objetos en<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!