提问者:小点点

nodejs套接字发射返回未定义


我正在尝试发送到客户端每当一个新的连接发出。

我的服务器端javascripts是:

var clients = 0;
io.sockets.on('connection', function (socket) {
clients ++;
console.log(clients);
socket.broadcast.emit('connect',socket.clients);
}

和要处理的客户端js:

socket.on('connect', function (data) {
console.log('on'+data);});

输出未定义(在未定义的情况下)

哪里不对劲了?


共1个答案

匿名用户

socket.broadcast.emit('connect',socket.clients);
                                ^^^^^^^^^^^^^^ this should be 'clients'

此外,connect是带有socket.io的预定义事件,因此不应该重用它,否则可能会产生意外的结果。

fwiw:socket.broadcast.emit将向除当前连接之外的所有连接发送消息。如果这不是您想要的(您希望消息发送到所有连接),请改用io.sockets.emit)。