我以某种方式设法凑合了本地节点服务器.我想要做的就是当用户连接到服务器时,更新整数.我只是找不到在node.js代码中跟踪当前用户的内容.
if(newUserConnects){
currentUsers += 1;
}
else if(userDisconnects){
currentUsers -= 1;
}
Run Code Online (Sandbox Code Playgroud)
我对服务器端编程非常陌生(我做了一点PHP,但没有任何与服务器请求直接交互).
你可能想看看使用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--;
})
})
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
客户端代码在这里:https://github.com/xjamundx/CollabPaintJS/blob/master/public/collabpaint.js
仅供参考,我的应用程序是使用早期版本的socket.io构建的,因此语法略有改变!
谢谢Jamund,非常简单有效的解决方案.这是我的代码:
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 });
})
});
Run Code Online (Sandbox Code Playgroud)
client.js (jQuery 1.6.4)
var socket = io.connect('http://domain.com:7777');
socket.on('message', function (data) {
console.log(data.count);
});
Run Code Online (Sandbox Code Playgroud)