Node.js NodeJS聊天:存储用户名
我正在与NodeJS建立聊天,但它不会将用户名存储在var users中:Node.js NodeJS聊天:存储用户名,node.js,chat,Node.js,Chat,我正在与NodeJS建立聊天,但它不会将用户名存储在var users中: // chat sockets var io = require('socket.io').listen(3872, { log: false }); var users = []; io.sockets.on('connection', function (socket) { socket.on('requestUsername', function(username) { socket.us
// chat sockets
var io = require('socket.io').listen(3872, { log: false });
var users = [];
io.sockets.on('connection', function (socket) {
socket.on('requestUsername', function(username) {
socket.username = escape(username.value);
users.push({
username: username.value
});
console.log(username.value + " joined the chat. "+ users.length +" chatters online now!");
console.log(users);
});
socket.on('disconnect', function() {
});
});
所以,当有人加入时,例如:Steve,var用户是:{username:'Steve'},但是当Simon加入时:{username:'Simon'},Steve现在从用户var中消失了?为什么?如何修复它?修复:
// chat sockets
var io = require('socket.io').listen(3872, { log: false });
var users = [];
io.sockets.on('connection', function (socket) {
socket.on('requestUsername', function(username) {
socket.username = escape(username.value);
users.push(username.value);
console.log(username.value + " joined the chat. "+ users.length +" chatters online now!");
console.log(users);
});
socket.on('disconnect', function() {
});
});
我不知道为什么,但这是可行的?您确定没有重新启动服务器?或者在用户断开连接时清理阵列?是的,我确实这样做了。但我找到了解决办法!