Ich bin gerade in dieses Problem mit einem älteren Beispiel geraten. Hier ist die Antwort, die ich gefunden habe: Migrating 0.6 to 0.7+, die ich unten reproduzieren.
In v0.6, socket.send
würde automatisch ein Objekt wie {a: 'b'}
zu JSON konvertieren. Sie würden Daten an einen Client senden mit:
Während das ist cool, es stellt ein grundlegendes Problem. JSON kodiert nicht nur Objekte, sondern auch Strings, Zahlen, etc! Daher ist die API klarer, wenn Sie explizit angeben, dass Sie JSON übergeben möchten (da es eine Leistungseinbuße beim Kodieren/Dekodieren von JSON gibt).
In v0.7, verwenden Sie die json
Flagge:
socket.emit('my_event', {a: 'b'});
Argumente für Ereignisse codiert erhalten in JSON:
socket.json.send({a: 'b'});
Jetzt können Sie auch benutzerdefinierte Ereignisse zwischen dem Browser und dem Server senden und empfangen automatisch für dich.
Funktioniert wie ein Charme für mich beim Senden an meinen Android-Client, Prost! – Jack