jueves, 14 de octubre de 2010

Cliente Servidor basico en java

//cliente.java

import java.io.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class cliente {

    public static void main(String[] args) {
        try {
             // Sirve para crear una conexión entre el servidor y el cliente.
            Socket canalComunicacion = null;
            // Sirve para enviar mensajes al servidor.
            ObjectOutputStream enviar;

            //Nos conectamos al servidor con la ip "127.0.0.1" en el puerto "10831"
            canalComunicacion = new Socket("127.0.0.1", 10831);

            // Inicializamos "enviar" para poder enviar mensajes al servidor.
            enviar = new ObjectOutputStream(canalComunicacion.getOutputStream());

            //Enviamos el mensaje hola mundo al servidor
            enviar.writeObject("Hola Mundo");

            // Cerramos el objeto que nos permitio enviar mensajes.
            enviar.close();
            // Cerramos la conexión entre el cliente y el servidor. 
            canalComunicacion.close();
        } catch (Exception ex) {
        }
    }
}

// servidor.java

import java.io.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class servidor {

    public static void main(String[] args) {
        try {
            // Sirve para escuchar conexiones entrantes.
            ServerSocket serversocket = null;
            // Sirve para crear una conexión entre el servidor y el cliente.
            Socket canalComunicacion = null;
            // Sirve para recibir mensajes del cliente.
            ObjectInputStream recibir;
           
            // Escuchamos en el puerto "10831" por nuevas conexiones.
            // Se abrira el puerto 10831 en la PC
            serversocket = new ServerSocket(10831);
           
            // Aceptamos la conexión del cliente
            canalComunicacion = serversocket.accept();
           
            // Inicializamos "recibir" para poder recibir mensajes del cliente.
            recibir= new ObjectInputStream(canalComunicacion .getInputStream());
           
            // Leemos lo que nos envio el cliente y lo imprimimos
            System.out.println(recibir.readObject());

            // Cerramos el objeto que nos permitio recibir mensajes.
            recibir.close();
            // Cerramos la conexión entre el cliente y el servidor.
            socketCliente.close();
            // Cerramos el puerto "10831" que estaba escuchando nuevas conexiones.
            serversocket.close();
        } catch (Exception ex) {
        }
    }
}