Ho un piccolo ma fastidioso problema per il quale non riesco a trovare la soluzione.
Sul lato server ho questo:
... socket.on('join', function (name) { console.log("Joining: "+name); socket.userName = sanitize(name); } socket.on('msg', function(m) { console.log(socket.userName+" says: "+m);//This works }); socket.on('disconnect', function(socket) { console.log(socket.userName+" has disconnected");//This does not work }); ...
Il problema è che il socket.userName
è disponibile in tutti i miei metodi socket.on('disconnect',...
per socket.on('disconnect',...
Ottengo undefined
per la proprietà userName.
È semplicemente imansible farlo? Se questo non è il miglior pratcie, per favore fatemelo sapere. Sono molto nuovo a node.js
Non penso che l’evento di disconnect
sia passato ad un argomento, quindi stai efficacemente clobbering la tua variabile socket
. Basta usare un elenco di argomenti vuoto per il suo gestore:
socket.on('disconnect', function() { console.log(socket.userName+" has disconnected"); });