Sockets
Sockets en Java
La tecnologia de los Sockets nos permite establecer un enlace entre dos programas que se ejecutan independientes el uno del otro (generalmente un programa cliente y un programa servidor) Java por medio de la librería java.net nos provee dos clases: Socket para implementar la conexión desde el lado del cliente y ServerSocket que nos permitirá manipular la conexión desde el lado del servidor.
Ahora el código del servidor:
Bueno, esto es todo lo que se tiene que saber a la hora de usar sockets en Java, les recomiendo leer también el artículo que habla de hilos o thread en java ya que con estos dos conceptos se pueden realizar muchas cosas interesantes, como por ejemplo un chat.
Ejemplo Cliente/Servidor usando sockets en Java
A continuación el código fuente realizado en Java del cliente donde se conecta con el servidor y le envía un mensaje:package com.programacionextrema; import java.io.*; import java.net.*; public class Cliente { private static String HOST = "localhost" ; private static int PUERTO = 2017 ; public static void main(String args[]) { Socket socket; DataOutputStream mensaje; try { //Creamos nuestro socket socket = new Socket(HOST, PUERTO); mensaje = new DataOutputStream(socket.getOutputStream()); //Enviamos un mensaje mensaje.writeUTF( "Hola soy un cliente!!" ); //Cerramos la conexión socket.close(); } catch (UnknownHostException e) { System.out.println( "El host no existe o no está activo." ); } catch (IOException e) { System.out.println( "Error de entrada/salida." ); } } } |
Ahora el código del servidor:
package com.programacionextrema; import java.io.*; import java.net.*; public class Servidor { private static int PUERTO = 2017 ; public static void main(String args[]) { BufferedReader entrada; DataOutputStream salida; Socket socket; ServerSocket serverSocket; try { serverSocket = new ServerSocket(PUERTO); System.out.println( "Esperando una conexión..." ); socket = serverSocket.accept(); System.out.println( "Un cliente se ha conectado..." ); // Para los canales de entrada y salida de datos entrada = new BufferedReader( new InputStreamReader( socket.getInputStream())); salida = new DataOutputStream(socket.getOutputStream()); System.out.println( "Confirmando conexion al cliente...." ); salida.writeUTF( "Conexión exitosa..." ); // Para recibir el mensaje String mensajeRecibido = entrada.readLine(); System.out.println(mensajeRecibido); salida.writeUTF( "Se recibio tu mensaje." ); salida.writeUTF( "Gracias por conectarte." ); System.out.println( "Cerrando conexión..." ); // Cerrando la conexón serverSocket.close(); } catch (IOException e) { System.out.println( "Error de entrada/salida." + e.getMessage()); } } }
|
Comentarios
Publicar un comentario