我以某种方式设法将本地节点服务器拼凑在一起。我想要做的就是当用户连接到服务器时,更新整数。我无法找到在node.js代码中跟踪当前用户的内容。
if(newUserConnects){
currentUsers += 1;
}
else if(userDisconnects){
currentUsers -= 1;
}
我对服务器端编程非常陌生(我做了一点php,但没有直接与服务器请求交互)。
答案 0 :(得分:7)
您可能希望使用socket.io。它为可以轻松计算和更新代码的内容提供了钩子。
我构建了一个执行此操作的应用: http://xjamundx.no.de
源代码在这里:https://github.com/xjamundx/CollabPaintJS/blob/master/server.js
看看我对count变量做了什么。
var count = 0
socket.on('connection', function(client) {
count++;
client.broadcast({count:count})
client.on('disconnect', function(){
count--;
})
})
希望有所帮助!
客户端代码在此处:https://github.com/xjamundx/CollabPaintJS/blob/master/public/collabpaint.js
仅供参考,我的应用程序是使用早期版本的socket.io构建的,因此语法略有改变!
答案 1 :(得分:6)
server.js (Node-0.6.6)
var io = require('socket.io').listen(7777);
var count = 0
io.sockets.on('connection', function(socket) {
count++;
io.sockets.emit('message', { count: count });
io.sockets.on('disconnect', function(){
count--;
io.sockets.emit('message', { count: count });
})
});
client.js (jQuery 1.6.4)
var socket = io.connect('http://domain.com:7777');
socket.on('message', function (data) {
console.log(data.count);
});