USO DE SOCKETS EN JAVA (CLIENTE - SERVIDOR)

8 comentarios
 

Definición de Socket: Son un sistema de comunicación entre procesos de diferentes máquinas de una red. Más exactamente, un socket es un punto de comunicación por el cual un proceso puede emitir o recibir información.
Los sockets son básicamente formas en las que podemos interconectar 2 (o más) programas mediante el uso de la internet. En java se utilizan para poder crear conexiones utilizando básicamente una IP/hostname y un puerto para establecer la conexión.
¿Cómo funciona?
El modelo más básico de los sockets consta de 2 simples programas, un servidor y un cliente. Básicamente el programa servidor comienza a “escuchar” en un puerto determinado (nosotros lo especificamos), y posteriormente el programa que la hace de “cliente” debe conocer la ip o nombre de dominio/hostname del servidor y el puerto que está escuchando, al saber esto simplemente solicita establecer una conexión con el servidor. Es aquí cuando el servidor acepta esa conexión y se puede decir que estos programas están “conectados”, de este modo pueden intercambiar información.

El ejemplo que se realizó para este post, consta de dos aplicaciones, el servidor y el cliente, y consiste en enviar archivos de una maquina a otra, el tamaño de los archivos está limitado en mi caso a menos de 90 MB, aunque se ha probado en otras computadoras que el límite es de 100 MB.
Veamos paso a paso el proceso de implementación:
Para el ejemplo virtualizé una máquina con Windows Xp que hará de servidor, a esta máquina le asigne como dirección IP 10.10.62.9.
Luego creamos una carpeta en Mis Documentos con el nombre "Archivos Recibidos".

Y la dirección IP de la maquina real es 10.10.62.2


Luego como se sabe, tenemos que hacer que las maquinas se comuniquen por lo que de la maquina real que hará de cliente haremos un ping al servidor


Podemos ver que hay envió de paquetes, por lo que hasta ahora todo marcha bien.
Ahora iremos al netbenas y crearemos un ejecutable (dist) del socket servidor y este lo copiaremos a la máquina virtual como vemos en la imagen.


Haremos doble clic en el archivo SocketServidor y nos mostrara el mensaje que se muestra en la siguiente imagen.

Con esto ya nuestro servidor está esperando un archivo para recibirlo.
Nos dirigimos a la aplicación cliente y la ejutamos y elegimos una archivo, en este caso yo tengo un archivo .rar de aproximadamente 70 MB y este lo enviaremos al servidor.


Luego hacemos clic en enviar y veremos como el archivo después de unos segundos aparecerá en la maquina servidor.
Aclaración: Deberán aceptar el cuadro de dialogo y actualizar la carpeta del servidor, para poder comprobar que el peso es el mismo.


Punto importante:

En línea 57 de la aplicación socket deberemos poner la ruta donde se guardara el archivo a enviar, para este ejemplo se la ruta es:

En el siguiente link estarán las dos aplicaciones, con el código fuente, el cual para que funcione deberán seguir los pasos anteriormente detallados.

Link de la aplicación : http://adf.ly/bSLfp

8 comentarios:

  1. INTERESANTE....GRACIAS POR EL CODIGO LO ESTUDIARE A DETALLE.
    .:(Y)

    ResponderEliminar
    Respuestas
    1. Gracias por el comentario, seguiré colocando mas entradas en cuanto pueda...saludos

      Eliminar
  2. esta muy bueno voy a probar y veo si la modifico y te la paso que se me ocurrio una idea :D

    ResponderEliminar
  3. Tendremos un proyecto dentro de un mes acerca de este tema, gran aporte amigo.

    ResponderEliminar
  4. hola, podrías subir información sobre unix y datastage. gracias

    ResponderEliminar

 
© 2012. Design by Main-Blogger - Blogger Template and Blogging Stuff