Para ello necesitamos 2 codigos, uno con funcion servidor y otro de cliente.
Primero entramos en la IDE de Netbeans, creamos dos nuevos proyectos de tipo "Java aplication". Uno lo llamaremos "socket_servidor" y el otro "socket_cliente".
* Codigo servidor:
package socket_servidor;
import java.io.DataOutputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Socket_servidor {
static final int PUERTO = 5000;
public Socket_servidor( ) {
try {
ServerSocket skServidor = new ServerSocket(PUERTO);
System.out.println("Esperando cliente..." );
Socket skCliente = skServidor.accept();
System.out.println("Recibido cliente y mandando saludo");
OutputStream aux = skCliente.getOutputStream();
DataOutputStream flujo = new DataOutputStream( aux );
flujo.writeUTF( "Saludos");
skCliente.close();
} catch( Exception e ) { System.out.println(e); }
}
public static void main(String[] args) {
new Socket_servidor();
}
}
* Codigo cliente:
package socket_cliente;
import java.io.DataInputStream;
import java.io.InputStream;
import java.net.Socket;
public class Socket_cliente {
static final String HOST = "localhost";
static final int PUERTO = 5000;
public Socket_cliente( ) {
try {
Socket skCliente = new Socket( HOST , PUERTO );
InputStream aux = skCliente.getInputStream();
DataInputStream flujo = new DataInputStream( aux );
System.out.println( "Servidor dice: " + flujo.readUTF() );
skCliente.close();
} catch( Exception e ) { System.out.println(e); }
}
public static void main(String[] args) {
new Socket_cliente();
}
}
- Resultado en pantalla del servidor:
run:
Esperando cliente...
Recibido cliente y mandando saludo
BUILD SUCCESSFUL (total time: 8 seconds)
Nota: Hasta que no se ejecute el codigo de cliente permanecerá en estado de "Esperando cliente..."
- Resultado en pantalla del cliente:
run:
Servidor dice: Saludos
BUILD SUCCESSFUL (total time: 0 seconds)
Nota 1: Debemos arrancar primero el codigo "socket_servidor" antes que el "socket cliente".
Nota 2: Asegurarse de usar puertos por encima de 1024. En nuestro caso utilizamos el puerto 5000.
Nota 3: Si tenemos puesto el proceso del servidor en otro PC dentro una misma red local, solo tenemos que modificar en el codigo del cliente la variable String HOST = "localhost" por la IP del servidor.
Ej:
String HOST = "192.168.0.100"; // IP donde este arrancado la aplicación "socket_servidor"
Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.
Archivo del blog
Suscribirse a:
Enviar comentarios (Atom)
Con la tecnología de Blogger.
No hay comentarios:
Publicar un comentario