Javascript 为什么可以';在这种情况下我不能使用socket.emit.broadcast吗?

Javascript 为什么可以';在这种情况下我不能使用socket.emit.broadcast吗?,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,你好,我有一个计数器在我的服务器上有多少人连接。因此,每当用户连接时,我都要向他发送用户数。问题是,当用户连接时,他发送套接字,服务器接收它。但是,当服务器发送包含用户数的套接字时,客户机不会收到此消息 我在使用socket.broadcast.emit时遇到此问题。如果我使用socket.emit,我确实会接收它 Server.js socket.on('update', function () { console.log('Update', users) socket.bro

你好,我有一个计数器在我的服务器上有多少人连接。因此,每当用户连接时,我都要向他发送用户数。问题是,当用户连接时,他发送套接字,服务器接收它。但是,当服务器发送包含用户数的套接字时,客户机不会收到此消息

我在使用socket.broadcast.emit时遇到此问题。如果我使用socket.emit,我确实会接收它

Server.js

socket.on('update', function () {
    console.log('Update', users)
    socket.broadcast.emit('user',users) //Doesn't work
    socket.emit('user', users) // Works
})
$(document).ready(function() {

var users = 0
var socket = io()
.
.
.

socket.on('user', changeUsers)
socket.emit('update');
.
.
.
Index.js

socket.on('update', function () {
    console.log('Update', users)
    socket.broadcast.emit('user',users) //Doesn't work
    socket.emit('user', users) // Works
})
$(document).ready(function() {

var users = 0
var socket = io()
.
.
.

socket.on('user', changeUsers)
socket.emit('update');
.
.
.
广播意味着向除启动它的套接字之外的所有人发送消息。 因此,连接用户将无法获得广播

这可能有助于解决以下问题:

发送和接收事件 IO允许您发送和接收自定义事件。除了连接、消息和断开连接之外,您还可以发出自定义事件:

服务器:

// note, io(<port>) will create a http server for you
var io = require('socket.io')(80);

io.on('connection', function (socket) {
  io.emit('this', { will: 'be received by everyone'});

  socket.on('private message', function (from, msg) {
    console.log('I received a private message by ', from, ' saying ', msg);
  });

  socket.on('disconnect', function () {
    io.emit('user disconnected');
  });
});
//注意,io()将为您创建一个http服务器
var io=require('socket.io')(80);
io.on('连接',函数(套接字){
io.emit('this',{will:'bereceivebyeveryone'});
socket.on('private message',函数(from,msg){
log('我收到了一条私人消息,'来自,'saying',msg);
});
socket.on('disconnect',function(){
io.emit('用户断开连接');
});
});
广播意味着向除启动它的套接字之外的所有人发送消息。 因此,连接用户将无法获得广播

这可能有助于解决以下问题:

发送和接收事件 IO允许您发送和接收自定义事件。除了连接、消息和断开连接之外,您还可以发出自定义事件:

服务器:

// note, io(<port>) will create a http server for you
var io = require('socket.io')(80);

io.on('connection', function (socket) {
  io.emit('this', { will: 'be received by everyone'});

  socket.on('private message', function (from, msg) {
    console.log('I received a private message by ', from, ' saying ', msg);
  });

  socket.on('disconnect', function () {
    io.emit('user disconnected');
  });
});
//注意,io()将为您创建一个http服务器
var io=require('socket.io')(80);
io.on('连接',函数(套接字){
io.emit('this',{will:'bereceivebyeveryone'});
socket.on('private message',函数(from,msg){
log('我收到了一条私人消息,'来自,'saying',msg);
});
socket.on('disconnect',function(){
io.emit('用户断开连接');
});
});