Laboratorio de Programación II de Socket en Java
Enviado por ray molina • 14 de Diciembre de 2015 • Documentos de Investigación • 1.029 Palabras (5 Páginas) • 325 Visitas
Universidad Nacional de Ingeniería Facultad de Ciencias y Sistemas
Laboratorio de Programación II de Socket en Java
Objetivos:
• Conocer las Clases necesarias para desarrollar una aplicación de red, que permita la comunicación (emisión y recepción) entre dos usuarios (terminales).
• Implementar una aplicación de comunicación sencilla utilizando Java como
Lenguaje de programación.
Introducción
Un socket es un punto final de un enlace de comunicación de dos vías entre dos programas que se ejecutan en la red. Clases Socket se utilizan para representar la conexión entre un programa cliente y un programa servidor. El paquete java.net proporciona dos clases -‐ Socket y ServerSocket -‐ que implementan el lado del cliente de la conexión y del lado del servidor de la conexión, respectivamente.
[pic 2]
Diseñando el ServerGui
[pic 3]
Cree un proyecto nuevo Java Application en Netbeans, como se muestra en la imagen. Se propone como nombre del proyecto PROMECYSCryptoSocket, no seleccione la opción create Main class.
[pic 4]
Una vez creado el proyecto, agregue dos paquetes, uno se llamara “promecyscliente” y el segundo“promecysservidor” asi:
[pic 5]
Agregue un JFrame, añádale un DesktopPane de la ventana de componentes y una barra de menú y dos menús (Configuración y Salir), dentro del menú configuración agregue dos menuitems (Iniciar y Detener).
[pic 6]
Una vez hecho este diseño, declare dos variables :
[pic 7]
Ahora se declara una clase interna que se encargara de escuchar peticiones de conexión de clientes.
public class ServerThread extends Thread
{
@Override
public void run()
{
try
{
server = new ServerSocket(5000, 5);
while(flag)
{
Socket client = server.accept();
SingleClient sc = new SingleClient(client);
jDesktopPane1.add(sc);
sc.setVisible(true);
}
}
catch(IOException ex)
{
JOptionPane.showMessageDialog(null,ex.getMessage(),"Mensaje de Error",JOptionPane.ERROR_MESSAGE);
}
}
}
Ahora le agregamos eventos a los menuitems(Iniciar y Detener), en el evento de action del menuitem “iniciar” escriba el siguiente código:
[pic 8]
En el evento action del menuitem “Detener”:
[pic 9]
Con esto ya tenemos listo el Server, y por cada petición que acepte se desplegara una ventana interna donde se podrá comunicar con el cliente.
...