Cliente Servidor
public class T extends Thread { private Socket s; public T(Socket x){s=x;} public void run(){try{ //escuchar al cliente BR in=new BR(new ISR(s.getInputStream())); while(true){ String linea=in.readLine(); System.out.println(linea); if(linea.equals(“fin”)) break; } in.close(); s.close(); }catch(Exception e){ System.err.println(e.getMessage()); }} Nota. Las líneas de los clientes se mezclan en System.out
public class T extends Thread { private Socket s; public T(Socket x){s=x;} public void run(){try{ //obtener dir simbólica del cliente String c=s.getInetAddress().getHostName(); BR in=new BR(new ISR(s.getInputStream())); while(true){ String linea=in.readLine(); System.out.println(c+”:”+linea); if(linea.equals(“fin”)) break; } a.close(); s.close(); }catch(Exception e){ System.err.println(e.getMessage()); }}
Un servidor de archivos: envía archivos a petición de clientes 2) Servidor recibe nombre de archivo 1) cliente solicita archivo 4) Servidor envía bytes 5) Cliente graba bytes 3) Leer bytes desde archivo Repetir 3,4,5 hasta que todo el archivo sea transmitido
//obtener segmentos de bytes y //grabar en archivo local FileOutputStream a= new FileOutputStream(args[0]); InputStream in=s.getInputStream(); int N=1024,n=0; byte[]b=new byte[N]; while((n=in.read(b,0,N)>=0) a.write(b,0,n); a.close(); in.close(); s.close();
Broadcasting (Difusión) de mensajes Hello Hello Hello Hello Hello Hello
Cliente Servidor