Ich arbeite derzeit an einer einfachen socketio Anwendung, in der ich einige Parameter zu envents sende und ich sie in jedem Sockel speichern.Socketio 1.0 erhalten Attribute von allen Clients
socket.on('add user', function (data) {
if (addedUser) return;
// we store the username in the socket session for this client.
socket.nickname = data.nickname;
socket.userId = data.userId;
...
dann bin ich alle socketio bekommen Kunden var io.engine.clients mit und ich versuche, dass, wie dies in anderen Ereignisparameter zu erhalten:
socket.on('new message', function (data) {
var clientsRoom = io.engine.clients;
for(var c in clientsRoom){
console.log(" Client: " + c.userId); //Error
console.log(" Client: " + c); //outputs the socket ID
console.log(" Client: " + c['userId']); //Error
}
...
aber ich nicht in der Lage bin zu erhalten meine userID vorher für alle Steckdosen gespeichert. Was mache ich falsch?
Danke.
Wenn ich in meinem Code ein Protokoll setzen nach socket.userId = data.userId; Drucken socket.userId druckt mir meine Benutzer-ID. Aber mit Ihrem Code, wenn man versucht, es zu bekommen, ist mir der Rückkehr: Auftraggeber: undefined :-( – walolinux
@walolinux habe ich den Code, den ich mit in einem Gist getestet: https://gist.github.com/robertklep/080f62fc6d7a506d8f5a55bc3bf61252 – robertklep
Yep , funktioniert, aber ich bin zu realisieren, dass ich alle angeschlossenen Steckdosen in einem Raum zur Liste benötigen, nicht im allgemeinen und dann userId erhalten ... – walolinux