Tu comunidad de Seguridad Informatica

Para ver Todo el contenido del foro es necesario estar Registrado!
Antes de comentar o Aportar es Obligado Leer Las: Reglas | Rules
Ya Esta Disponible al publico "LeProject" el Videojuego del Foro Click Aquí Para Ver el Post.
Pitbull Security Labs "Extras" Esta Disponible! [ENTRA]

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

avatar
Usuario
Usuario

Ver perfil de usuario
el Lun Mar 18, 2013 12:38 pm
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:

Código:
// 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();

   }

}

Servidor:

Código:
// 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();

   }

}

Captura:



Saludos

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.