Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/drako01/websocket-java
Spring Boot WebSocket Server
https://github.com/drako01/websocket-java
api-client java spring-boot websocket
Last synced: about 2 months ago
JSON representation
Spring Boot WebSocket Server
- Host: GitHub
- URL: https://github.com/drako01/websocket-java
- Owner: Drako01
- License: mit
- Created: 2024-11-20T13:01:43.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-20T13:22:24.000Z (about 2 months ago)
- Last Synced: 2024-11-20T14:24:58.953Z (about 2 months ago)
- Topics: api-client, java, spring-boot, websocket
- Language: Java
- Homepage:
- Size: 45.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
---
# Spring Boot WebSocket Server
Este proyecto es un servidor WebSocket básico desarrollado en **Spring Boot**, diseñado para demostrar cómo establecer conexiones WebSocket en tiempo real. Incluye soporte para manejar mensajes entre clientes y el servidor.
## 📋 Requisitos
Asegúrate de tener lo siguiente instalado:
- **Java 17** o superior
- **Maven** (o cualquier otra herramienta para construir proyectos Java)
- **Postman** o una herramienta para probar WebSockets (como WebSocket Tester)## 🚀 Instalación y ejecución
1. **Clona el repositorio:**
```bash
git clone https://github.com/Drako01/websocket-java.git
cd websocket-java
```2. **Construye el proyecto:**
```bash
mvn clean install
```3. **Ejecuta la aplicación:**
```bash
mvn spring-boot:run
```El servidor estará disponible en: `ws://localhost:8080/chat`.
## 🛠️ Configuración
### Endpoint principal
- **WebSocket URL:**
`ws://localhost:8080/chat`### Estructura del servidor
1. **Configuración del WebSocket:**
La clase `WebSocketConfig` configura el endpoint `/chat` como el punto de entrada para las conexiones WebSocket.2. **Manejador de mensajes:**
La clase `ChatWebSocketHandler` es responsable de manejar los eventos de conexión, mensajes enviados por los clientes y desconexiones.### Comportamiento del servidor
- Cuando un cliente se conecta, el servidor registra la conexión.
- Los mensajes enviados por un cliente se retransmiten a todos los demás clientes conectados.
- Cuando un cliente se desconecta, su sesión se elimina del registro.## 🔗 Probando la conexión
### Usando Postman
1. Abre Postman y selecciona **WebSocket Request**.
2. Introduce la URL del servidor WebSocket:
`ws://localhost:8080/chat`.
3. Haz clic en **Connect**.
4. Envía un mensaje desde el campo de texto, por ejemplo:
```plaintext
Hola servidor WebSocket!
```
5. Observa la respuesta del servidor y verifica que otros clientes conectados reciben el mensaje.### Usando WebSocket Tester (opcional)
1. Accede a [WebSocket Tester](https://www.websocket.org/echo.html).
2. Introduce la URL del servidor:
`ws://localhost:8080/chat`.
3. Conéctate y envía un mensaje.## 📂 Estructura del proyecto
```plaintext
src/main/java/
└── com.armotusitio/
├── config/
│ └── WebSocketConfig.java # Configuración de WebSocket
├── handler/
│ └── ChatWebSocketHandler.java # Lógica principal del WebSocket
├── client/
│ └── ChatClient.java # Endpoint del Cliente
└── WebSocketApplication.java # Clase principal
```## 💡 Funcionalidades futuras
- Soporte para salas de chat privadas.
- Persistencia de mensajes en una base de datos.
- Integración con un cliente frontend (Angular, React, etc.).## 🤝 Contribuciones
¡Las contribuciones son bienvenidas! Si deseas mejorar este proyecto, realiza un fork y envía un Pull Request.
## 📝 Licencia
Este proyecto está bajo la Licencia MIT. Consulta el archivo [LICENSE](LICENSE) para más detalles.
--------
## Profesor: Alejandro Daniel Di Stefano
[GitHub](https://github.com/Drako01)