socketio广播消息只发送给一个

我正在使用socketiobuild立一个游戏。
服务器存储玩家的数量,当它进入2时,游戏开始。
但是,当我一个一个打开两个浏览器时,只有第一个(不是后者)接收游戏开始消息。
客户端:

var socket = io.connect('http://localhost:8080'); socket.on('connected', function (data) { $('#status').html('You are connected'); socket.emit('1 party connected'); }); socket.on('game start', function (data) { $('#status').html('game start'); }); 

服务器端:

 var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') app.listen(8080); var connected_parties_no = 0; io.sockets.on('connection', function (socket) { socket.emit('connected', { hello: 'world' }); socket.on('1 party connected', function () { connected_parties_no++; console.log(connected_parties_no.toString()+' parties are connecting.'); if (connected_parties_no == 2) { game_start(socket); } }); socket.on('disconnect', function () { connected_parties_no--; }); }); function game_start(socket) { socket.broadcast.emit('game start'); } 

 socket.broadcast.emit('game start'); 

会将'game start'事件发送给 socket 之外的所有人。 你很可能在寻找

 io.sockets.emit('game start');