我试图在发布新连接时发送给客户端。
我的服务器端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);});
输出未定义(未定义)
哪里出错了?
答案 0 :(得分:3)
socket.broadcast.emit('connect',socket.clients);
^^^^^^^^^^^^^^ this should be 'clients'
此外,connect
是socket.io
的预定义事件,因此您不应重复使用它,否则可能会产生意外结果。
FWIW:socket.broadcast.emit
会向所有连接发送消息,但当前连接。如果这不是您想要的(您希望将消息发送到所有连接),请改用io.sockets.emit
。