Documentación de la API
Por favor, consulte los clientes y la documentación de la API como referencia
Advertencia: Use versiones de cliente compatibles con Socket.IO Server v4. Las versiones anteriores pueden no ser compatibles y pueden no funcionar correctamente
JavaScript (navegador, Node.js o React Native)
JavaScript (para Mini-Programas de WeChat)
No todas las APIs del lado del cliente pueden estar disponibles en la implementación del servidor, y viceversa.
Matriz de compatibilidad
Conectar
✅ Sí
io(url, opts)
IO.socket(url)
sio.connect(url)
socket.connect()
socket.connect()
socket.connect()
socket.Connect()
client->Connect()
socket.Connect()
Método de conexión estándar
Desconectar
✅ Sí
socket.disconnect()
socket.disconnect()
sio.disconnect()
socket.disconnect()
socket.disconnect()
socket.disconnect()
socket.Disconnect()
client->Disconnect()
socket.Disconnect()
El cliente se desconecta del servidor
Escuchar evento
✅ Sí
socket.on(event, cb)
socket.on(EVENT, listener)
@sio.on(event)
socket.on(event, cb)
socket.on(event, cb)
socket.on(event, cb)
socket.On(event, cb)
client->On(event, cb)
socket.On(event, cb)
Manejador de eventos estándar
Escucha única
✅ Sí
socket.once(event, cb)
socket.once(EVENT, listener)
@sio.once(event)
socket.once(event, cb)
socket.once(event, cb)
socket.once(event, cb)
socket.Once(event, cb)
client->Once(event, cb)
socket.Once(event, cb)
Algunos clientes no tienen once incorporado
Eliminar oyente
✅ Sí
socket.off() / socket.removeListener()
socket.off(EVENT)
sio.off(event)
socket.off(event)
socket.off(event)
socket.off(event)
socket.Off(event)
client->Off(event)
socket.Off(event)
La mayoría de los clientes soportan ciclos de eliminación de oyentes
Emitir evento
✅ Sí
socket.emit(event, …args)
socket.emit(event, …args)
sio.emit(event, data)
socket.emit(event, data)
socket.emit(event, data)
socket.emit(event, data)
socket.Emit(event, data)
client->Emit(event, data)
socket.Emit(event, data)
Emit estándar
Emit con ack
✅ Sí
socket.emit(event, …, callback) / emitWithAck()
socket.emit(event, …args, AckCallback)
sio.call(event, data) / await sio.emit(event, data, callback)
socket.emit(event, data, cb)
socket.emit(event, data, cb)
socket.emit(event, data, cb)
socket.Emit(event, data, cb)
client->Emit(event, data, cb)
socket.Emit(event, data, cb)
El soporte de ack varía
API de espacios de nombres
✅ Sí
io(url/ns) / socket.nsp
socket.of("/ns")
sio.connect(url, namespaces=["/ns"])
socket.of("/ns")
socket.of("/ns")
socket.of("/ns")
socket.Of("/ns")
client->Of("/ns")
socket.Of("/ns")
La mayoría de los clientes con múltiples espacios de nombres son compatibles
Consulta / Autenticación
⚠️ Limitado
io(url, { auth, query })
IO.Options.query/setAuth(Map<String,Object>)
sio.connect(url, auth={…})
socket.setAuth(data)
socket.setAuth(data)
socket.setAuth(data)
socket.SetAuth(data)
client->SetAuth(data)
socket.SetAuth(data)
Los parámetros del handshake se transmiten
Control de reconexión
⚠️ Parcial
Gestionado por las opciones del cliente
socket.io().reconnection(true/false)
sio.reconnect() o manejado por sio.connect()
Dependiente de la librería cliente
Dependiente de la librería cliente
Dependiente de la librería cliente
Dependiente de la librería cliente
Dependiente de la librería cliente
Dependiente de la librería cliente
Lógica de reconexión automática del cliente
Emit volátil
⚠️ Limitado
socket.volatile.emit()
Solo JS / no estándar en el cliente Java
⚠️ Raro / no estándar
Varía
Varía
Varía
Varía
Varía
Varía
No implementado de forma consistente
Banderas de compresión
⚠️ Interno
socket.compress()
No estándar
No estándar
No estándar
Varía
Varía
Varía
Varía
Varía
Usualmente interno
Middleware del cliente (use())
❌ No
Solo JS
❌
❌
❌
❌
❌
❌
❌
❌
API de middleware mayormente solo en JS
Internos de Engine/Manager
❌ No
socket.io / Manager
Interno
Interno
Interno
Interno
Interno
Interno
Interno
Interno
Los internos del cliente no se reflejan en el servidor
Última actualización
¿Te fue útil?