Ich möchte Daten an eine bestimmte Socket-ID senden.
Früher konnten wir dies in älteren Versionen tun:
io.sockets.socket(socketid).emit('message', 'for your eyes only');
Wie würde ich in Socket.IO 1.0 etwas Ähnliches tun?
Ich möchte Daten an eine bestimmte Socket-ID senden.
Früher konnten wir dies in älteren Versionen tun:
io.sockets.socket(socketid).emit('message', 'for your eyes only');
Wie würde ich in Socket.IO 1.0 etwas Ähnliches tun?
In socket.io 1.0 bieten sie dafür einen besseren Weg. Jeder Socket wird automatisch über seine eigene ID einem Standardraum zugeordnet. Überprüfen Sie die Dokumente: http://socket.io/docs/rooms-and-namespaces/#default-room
Sie können also per ID mit folgendem Code an einen Socket senden:
io.to(socketid).emit('message', 'for your eyes only');
In socket.io 1.0 können Sie dies mit folgendem Code tun:
Aktualisieren:
@ MustafaDokumacıs Antwort enthält eine bessere Lösung.
quelle
@Mustafa Dokumacı und @Curious haben bereits genügend Informationen bereitgestellt. Ich füge hinzu, wie Sie die Socket-ID erhalten können.
Um die Socket-ID zu erhalten, verwenden Sie socket.id :
quelle
Wenn Sie einen Namespace verwendet haben, stellte ich fest, dass Folgendes funktioniert:
Weitere Informationen zu Namespaces: http://socket.io/docs/rooms-and-namespaces/
quelle
Ich glaube, dass sowohl @Curious als auch @ MustafaDokumacı Lösungen geliefert haben, die gut funktionieren. Der Unterschied besteht jedoch darin, dass mit der Lösung von @ MustafaDokumacı die Nachricht an einen Raum und nicht nur an einen bestimmten Kunden gesendet wird.
Der Unterschied ist deutlich, wenn eine Bestätigung angefordert wird.
funktioniert wie erwartet, während
scheitert mit
quelle
in Node.js -> socket.io -> gibt es ein Chat-Beispiel zum Herunterladen Einfügen in Zeile (io bei Verbindung) Teil .. Ich verwende diesen Code, der 100% funktioniert
quelle