Expermicid Posted October 17, 2012 Share Posted October 17, 2012 (edited) Investigando un poco sobre socket en java, pude lograr este pequeño ejemplo en donde se estrablece una conexion Servidor-Cliente. Al code le puse algunos comentarios para facilitar el entendimiento del codigo, cualquier duda preguntes :) Cliente: [lenguaje=java]// importamos librerias necesarias import java.io.*; import java.net.*; class Cliente { static final String HOST = "localhost"; // host a conectar static final int PUERTO = 5000; // puerto de conexion static String entrada = ""; public Cliente( ) { try{ // creamos un socket asociados al host y puerto Socket sCliente = new Socket(HOST, PUERTO); // InputStream nos sirve leer datos InputStream aux = sCliente.getInputStream(); // DataInputStream permite recibir datos de tipos normales DataInputStream datos = new DataInputStream(aux); do { // bucle para recibir datos hasta que entrada sea 'End' // recibimos los datos entrada = datos.readUTF(); // imprimimos los datos System.out.println("Recibido: " + entrada); } while(!entrada.equals("End")); // comprobamos que entrada no sea 'End' // cerramos la conexion sCliente.close(); } catch( Exception e ) { System.out.println( e.getMessage() ); } } // metodo Main public static void main( String[] arg ) { new Cliente(); } }[/lenguaje] Servidor: [lenguaje=java]// importamos librerias necesarias import java.io.* ; import java.net.* ; class Servidor { static final int PUERTO = 5000; // puerto de conexion static String sTexto = ""; public Servidor() { try { System.out.println("A la espera de algun cliente\n"); // creamos un socket asociados al puerto ServerSocket sServidor = new ServerSocket(PUERTO); // quedamos a la espera de la conexion de algun cliente para aceptarlo Socket sCliente = sServidor.accept(); // OutputStream nos sirve enviar datos OutputStream aux = sCliente.getOutputStream(); // DataOutputStream permite enviar datos de tipos normales DataOutputStream datos = new DataOutputStream(aux); // usamos la clase BufferedReader para leer datos desde teclado BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Cliente Conectado :)\n"); do { // bucle para enviar datos hasta que entrada sea 'End' System.out.print(">>> "); // leemos los datos sTexto = entrada.readLine(); // escribimos los datos datos.writeUTF(sTexto); } while(!sTexto.equals("End")); // comprobamos que entrada no sea 'End' // cerramos la conexion sCliente.close(); } catch( Exception e ) { System.out.println(e.getMessage()); } } // metodo Main public static void main( String[] arg ) { new Servidor(); } }[/lenguaje] Captura: This is the hidden content, please Sign In or Sign Up Saludos Edited February 16, 2014 by Expermicid Link to comment Share on other sites More sharing options...
Recommended Posts