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