Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEPARATA
Seguridad Informática
Práctica
Seguridad Informática - 2
© InfoConsulting, I.C. - S.A.C., Perú - M.C. Ing. Carlos Alberto Chirinos Mundaca
PROGRAMACIÓN CLIENTE-SERVIDOR
MEDIANTE SOCKETS EN JAVA
Qué es un socket?
Los sockets 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.
Proceso 01:
INICIO
PANEL DE CONTROL
PROGRAMAS Y CARACTERÍSTICAS
Proceso 02:
INICIO
PANEL DE CONTROL
SISTEMA Y SEGURIDAD
HERRAMIENTAS ADMINISTRATIVAS
SERVICIOS
Programa Servidor:
package socket01;
public Servidor(int p) {
puerto = p;
}
//El metodo accept(), espera hasta que un cliente realice una conexión
//Una vez que se ha establecido una conexión por el cliente, este
//método devolverá un objeto tipo Socket, a través del cual se establecerá
//la comunicación con el cliente
sCliente = sServidor.accept();
//Obtengo una referencia a los flujos de datos de entrada y salida del socket
cliente
entrada = new Scanner(sCliente.getInputStream());
salida = new PrintStream(sCliente.getOutputStream());
//Cerramos la conexión
finalizar();
} catch (IOException e) {
finalizar();
}
}
Programa Main:
package socket01;
Capturas:
Iniciando el servidor
Realizando ipconfig para conocer el IP del equipo (IP DEL SERVIDOR) a través de
CMD.
Dirección IPV4
Resultado, una vez ingresado nuestro nombre el servidor nos manda un mensaje de
bienvenida.
Programa Servidor:
package socket02;
public Servidor(int p) {
puerto = p;
//El timer será el encargado de ejecutar este bloque de código cada 500
[ms]
//Es decir, que este leerá y mostrara los mensajes recibidos cada 0.5
segundos
//siempre o cuando se haya creado una conexión y exista un mensaje.
t = new javax.swing.Timer(500, (ActionEvent e) -> {
if (sCliente.isConnected() && !mensaje_recibido.equals("bye")) {
mensaje_recibido = entrada.next();
System.out.println("Cliente Dice: " + mensaje_recibido);
}
});
}
//El metodo accept(), espera hasta que un cliente realice una conexión
//Una vez que se ha establecido una conexión por el cliente, este
//método devolverá un objeto tipo Socket, a través del cual se
establecerá
//la comunicación con el cliente.
sCliente = sServidor.accept();
//iniciamos el timer
t.start();
Scanner lector = new Scanner(System.in);
//Terminamos la conexión
finalizar();
} catch (IOException e) {
finalizar();
}
Programa Main:
package socket02;
Capturas:
Dirección IPV4
Iniciando el servidor
Ejemplo3 – Eco:
Capturas
Dirección IPV4