https://github.com/alejandro-castillo-delgado/websocket
**WebSocket Server con Node.js y Socket.IO** 🌐 Servidor básico para comunicación en tiempo real, ideal para chats, notificaciones o actualizaciones instantáneas. Incluye: - Conexiones bidireccionales vía WebSocket - Soporte CORS para integración frontend - Eventos personalizados (`mensaje`/`respuesta`) - Configuración mínima y escalable
https://github.com/alejandro-castillo-delgado/websocket
api backend chat-app cors events express instant-updates javascript nodejs nodejs-server notifications realtime realtime-api realtime-communication server socketio websocket websocket-server
Last synced: 2 months ago
JSON representation
**WebSocket Server con Node.js y Socket.IO** 🌐 Servidor básico para comunicación en tiempo real, ideal para chats, notificaciones o actualizaciones instantáneas. Incluye: - Conexiones bidireccionales vía WebSocket - Soporte CORS para integración frontend - Eventos personalizados (`mensaje`/`respuesta`) - Configuración mínima y escalable
- Host: GitHub
- URL: https://github.com/alejandro-castillo-delgado/websocket
- Owner: alejandro-castillo-delgado
- Created: 2023-09-02T16:53:42.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-20T14:30:42.000Z (over 1 year ago)
- Last Synced: 2025-03-20T15:36:47.637Z (over 1 year ago)
- Topics: api, backend, chat-app, cors, events, express, instant-updates, javascript, nodejs, nodejs-server, notifications, realtime, realtime-api, realtime-communication, server, socketio, websocket, websocket-server
- Language: HTML
- Homepage: https://test-websocket-b69e.onrender.com
- Size: 1.37 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
```markdown
# WebSocket Server with Express and Socket.IO 🚀
Un servidor WebSocket básico implementado con Node.js, Express y Socket.IO, ideal para aplicaciones que requieren comunicación en tiempo real.




## Características principales ⚡
- **Conexiones en tiempo real** usando WebSocket
- **Soporte CORS** para conexiones cruzadas
- Manejo de eventos personalizados (`mensaje` y `respuesta`)
- Escalable y fácil de integrar
- Configuración de puerto flexible (usando variable de entorno `PORT`)
## Instalación 🔧
1. Clona el repositorio:
```bash
git clone https://github.com/alejandro-castillo-delgado/websocket.git
cd websocket
```
2. Instala las dependencias:
```bash
npm install express socket.io cors
```
3. Inicia el servidor:
```bash
node index.js
```
## Uso básico 💻
### Código del servidor (index.js)
```javascript
const express = require('express');
const http = require('http');
const socketIO = require('socket.io');
const cors = require('cors');
const app = express();
app.use(cors());
const server = http.createServer(app);
const io = socketIO(server);
io.on('connection', (socket) => {
console.log('Cliente conectado');
socket.on('mensaje', (data) => {
console.log('Mensaje recibido:', data);
socket.emit('respuesta', '¡Mensaje recibido por el servidor!');
});
socket.on('disconnect', () => {
console.log('Cliente desconectado');
});
});
const port = process.env.PORT || 3000;
server.listen(port, () => {
console.log(`Servidor WebSocket iniciado en el puerto ${port}`);
});
```
### Ejemplo de cliente (HTML/JS)
```html
const socket = io('http://localhost:3000');
// Enviar mensaje al servidor
socket.emit('mensaje', 'Hola servidor!');
// Escuchar respuestas del servidor
socket.on('respuesta', (data) => {
console.log('Respuesta del servidor:', data);
});
```
## Estructura de eventos 📡
| Evento | Dirección | Descripción |
|--------------|---------------|--------------------------------------|
| `connection` | Servidor | Nuevo cliente conectado |
| `mensaje` | Cliente → Servidor | Envío de mensajes al servidor |
| `respuesta` | Servidor → Cliente | Respuesta del servidor al cliente |
| `disconnect` | Servidor | Cliente desconectado |
## Configuración avanzada ⚙️
**Cambiar puerto:**
```bash
PORT=4000 node index.js
```
**Habilitar modo debug de Socket.IO:**
```bash
DEBUG=socket.io* node index.js
```
## Tecnologías utilizadas 🛠️
- Node.js (v18+)
- Express.js
- Socket.IO v4
- CORS middleware
## Contribuciones 🤝
¡Las contribuciones son bienvenidas! Por favor:
1. Haz fork del proyecto
2. Crea una rama con tu feature (`git checkout -b feature/nueva-funcionalidad`)
3. Haz commit de tus cambios (`git commit -m 'Add some feature'`)
4. Push a la rama (`git push origin feature/nueva-funcionalidad`)
5. Abre un Pull Request
## Licencia 📄
MIT License - Ver [LICENSE](LICENSE) para más detalles.
---
**Creado por [Alejandro Castillo Delgado](https://github.com/alejandro-castillo-delgado)**
[](https://github.com/alejandro-castillo-delgado/websocket)
```