1
我试图向所有连接的客户端广播一个产品更新的简单价格。 它的工作原理。这意味着广播是成功的,我可以更新我的价值观,但广播是什么问题。socket.io广播太多的数据包
Socket.io广播自服务器启动以来的所有消息,而不是仅发送最后一条消息。我似乎无法找到如何限制广播到最新的更新价格。
服务器:
// Broadcast new price
io.sockets.on('connection', function (socket) {
socket.on('bidAction', function(from, msg){
socket.broadcast.emit('bid', { price: new_price, product_id: productID });
});
});
客户:
var socket = io.connect('http://localhost');
socket.on('bid', function (data) {
console.log(data);
// We get the element with price
$('span.price').html(data.price.toFixed(2)) ;
});
// Now when the price is changed
$('.bid').click(function(){
// We emit the bidding
socket.emit('bidAction', {data: 'stuff'});
});
是在客户端提供的代码被再次叫什么名字?当您多次创建新连接时会发生这种情况,连接会被多次触发。 – user568109 2013-02-27 04:35:59
没有点击事件在输入[type = button]上,被调用一次 – 2013-02-27 04:50:30