Aplicacion Cliente - Servidor

Correspondiente a la Clase del 13 de abril.
Para crear dos aplicaciones que se comuniquen entre si mediante el protocolo TCP/IP podemos recurrir a las clases Socket y ServerSocket.
Por ejemplo un ejemplo basico de una aplicación que escucha conexiones y escribe las lineas recibidas en un archivo:
import java.util.Scanner; import java.io.*; import java.net.*; public class Servidor { public static void main(String[] args) { /** La manipulación de socket y archivos puede generar excepciones por lo que se hace necesario un bloque try / catch a los efectos practicos. Ignorarlo en la comprensión del código */ try { ServerSocket servidor = new ServerSocket (4000); Socket w = servidor.accept(); /* Este metodo abre un socket a la espera de nuevas conexiones */ Scanner s = new Scanner( w.getInputStream()); /*Similar al ingreso por teclado, esta vez desde el socket */ /** Indicar el path correctamente donde se pueda escribir (\ para windows) */ PrintStream p = new PrintStream("/home/sad/Escritorio/TestJava.txt"); String eof = s.nextLine(); while(!eof.equals("FIN")){ /*leer linea a linea hasta la linea FIN */ p.print(eof); eof = s.nextLine(); } p.close(); w.close(); servidor.close(); } catch (UnknownHostException e){ e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Y un ejemplo basico de un cliente para el servidor anterior que lee un archivo local y lo envia linea a linea al servidor.
import java.util.Scanner; import java.net.*; import java.io.*; public class Cliente { public static void main(String[] args) { try { Socket s = new Socket("127.0.0.1", 4000); PrintStream p = new PrintStream(s.getOutputStream()); Scanner t = new Scanner(System.in); System.out.println("Ingrese el path del archivo"); String path = t.nextLine(); System.out.println("El archivo a leer es " + path); FileInputStream f = new FileInputStream(path); t = new Scanner(f); String linea = t.nextLine(); while (linea != null) { p.println(linea); linea = t.nextLine(); } System.out.println("Finalizando envio de archivo"); p.println("FIN"); s.close(); p.close(); f.close(); } catch (UnknownHostException e){ e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Trackback URL for "Aplicacion Cliente - Servidor"
http://www.odiolasllaves.com.ar/trackback/97
»
- Inicie sesión o regístrese para enviar comentarios

"critica"
Hola seba... vos me dijiste, mira y critica... ahora yo pregunto, que queres que te diga??? esta todo muy lindo pero no se nada de java corazon ;), Besos!