Este proyecto implementa una aplicación de comunicación basada en WebSockets con arquitectura cliente-servidor. Proporciona una interfaz gráfica (GUI) usando PyQt5 para facilitar la conexión y comunicación entre múltiples máquinas en una red local.
- Servidor WebSocket: Basado en Socket.IO con eventlet para manejar conexiones concurrentes
- Cliente WebSocket: Conecta a servidores remotos con reconexión automática
- Interfaz Gráfica: Aplicación PyQt5 intuitiva para configuración y monitoreo
- Gestión de Conexiones: Soporte para múltiples clientes conectados simultáneamente
- Intercambio de Mensajes: Comunicación bidireccional entre servidor y cliente
- Detección de IPs: Utilidades para detectar y seleccionar direcciones IP locales
testing_socket/
├── main.py # Punto de entrada de la aplicación
├── Server_Env.py # Implementación del servidor WebSocket
├── Client_Env.py # Implementación del cliente WebSocket
├── Manager_server_client.py # Gestor de conexiones servidor/cliente
├── ip_utils.py # Utilidades para detección de direcciones IP
├── socket_ui.py # Interfaz gráfica generada
├── socket.ui # Archivo de diseño Qt Designer
└── setup.py # Configuración del proyecto
- Python 3.x
- PyQt5
- python-socketio
- eventlet
pip install -r requirements.txtpython main.pyLa aplicación permite seleccionar entre modo servidor o cliente, especificar direcciones IP y probar la conectividad entre máquinas.
- ✅ Modo Servidor: Escucha conexiones entrantes y gestiona múltiples clientes
- ✅ Modo Cliente: Conecta a servidores remotos
- ✅ Validación de Conexión: Pruebas automáticas de conectividad
- ✅ Interfaz Visual: Indicadores de estado de conexión (éxito/error)
Este resumen es profesional y completo. ¿Deseas que añada o modifique alguna sección?