socket.io客户端不接收数据包

客户端:

App.socket = io.connect('http://127.0.0.1:4000'); App.socket.on('draw', function(data) { console.log("drawing"); return App.draw(data.x, data.y, data.type); }); ... $(document).keyup(function(e) { if (e.keyCode == 27) { App.socket.emit('drawing'); } }); 

服务器端:

 (function() { var io; io = require('socket.io').listen(4000); io.sockets.on('connection', function(socket) { socket.on('drawing', function() { socket.broadcast.emit('draw', { x: 1, y: 1, type: "test" }); }); }); }).call(this); 

所以代码做的是检测“esc”键被按下。 当esc键被按下时,客户端发出一个叫做绘图的包到服务器。 这工作,并且服务器确实收到数据包。 此外,服务器接收到“绘图”数据包后,广播一个名为“draw”的数据包,但由于某种原因,在客户端,服务器广播后没有收到绘图数据包。

我一直盯着这个代码好几个小时,看起来很简单,我希望能有一个新的眼睛能够抓住这个简单的错误。

谢谢

通过socket.emit.broadcast将数据包发送到除当前套接字以外的每个套接字连接