API-Dokumentation
Bitte prüfen Sie die Clients und API-Dokumentation als Referenz
Warnung: Verwenden Sie Client-Versionen, die kompatibel sind mit Socket.IO Server v4. Frühere Versionen werden möglicherweise nicht unterstützt und funktionieren möglicherweise nicht korrekt
JavaScript (Browser, Node.js oder React Native)
JavaScript (für WeChat Mini-Programme)
Nicht alle clientseitigen APIs sind möglicherweise in der Serverimplementierung verfügbar und umgekehrt.
Kompatibilitätsmatrix
Verbinden
✅ Ja
io(url, opts)
IO.socket(url)
sio.connect(url)
socket.connect()
socket.connect()
socket.connect()
socket.Connect()
client->Connect()
socket.Connect()
Standard-Verbindungsmethode
Trennen
✅ Ja
socket.disconnect()
socket.disconnect()
sio.disconnect()
socket.disconnect()
socket.disconnect()
socket.disconnect()
socket.Disconnect()
client->Disconnect()
socket.Disconnect()
Client trennt die Verbindung zum Server
Ereignis abhören
✅ Ja
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)
Standard-Ereignis-Handler
Einmaliger Listener
✅ Ja
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)
Einige Clients haben kein eingebautes once
Listener entfernen
✅ Ja
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)
Die meisten Clients unterstützen das Entfernen von Listenern in Zyklen
Ereignis senden (emit)
✅ Ja
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)
Standard emit
Emit mit Bestätigung (ack)
✅ Ja
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)
Ack-Unterstützung variiert
Namespace-API
✅ Ja
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")
Die meisten Multi-Namespace-Clients werden unterstützt
Abfrage / Authentifizierung
⚠️ Eingeschränkt
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)
Handshake-Parameter werden durchgereicht
Wiederverbindungssteuerung
⚠️ Teilweise
Gesteuert durch Client-Optionen
socket.io().reconnection(true/false)
sio.reconnect() oder gehandhabt von sio.connect()
Abhängig von der Client-Bibliothek
Abhängig von der Client-Bibliothek
Abhängig von der Client-Bibliothek
Abhängig von der Client-Bibliothek
Abhängig von der Client-Bibliothek
Abhängig von der Client-Bibliothek
Automatische Wiederverbindungslogik beim Client
Flüchtiges (volatile) emit
⚠️ Eingeschränkt
socket.volatile.emit()
Nur JS / kein Standard im Java-Client
⚠️ Selten / nicht standardmäßig
Unterschiedlich
Unterschiedlich
Unterschiedlich
Unterschiedlich
Unterschiedlich
Unterschiedlich
Nicht konsistent implementiert
Komprimierungsflaggen
⚠️ Intern
socket.compress()
Nicht standardmäßig
Nicht standardmäßig
Nicht standardmäßig
Unterschiedlich
Unterschiedlich
Unterschiedlich
Unterschiedlich
Unterschiedlich
In der Regel intern
Client-Middleware (use())
❌ Nein
Nur JS
❌
❌
❌
❌
❌
❌
❌
❌
Das Middleware-API ist weitgehend nur in JS verfügbar
Engine/Manager Interna
❌ Nein
socket.io / Manager
Intern
Intern
Intern
Intern
Intern
Intern
Intern
Intern
Client-Interna werden nicht auf dem Server gespiegelt
Zuletzt aktualisiert
War das hilfreich?