LearnBoost/socket.io — Issue #770: Callbacks don't work if broadcasted.
Author: alexindigo
Created: 2012-02-29 08:04:43+00:00
State: open

When you do `socket.broadcast.emit(..., callback)` it stored in the socket object

```
if ('function' == typeof lastArg) {
packet.id = ++this.ackPackets;
packet.ack = lastArg.length ? 'data' : true;
this.acks[packet.id] = lastArg;
args = args.slice(0, args.length - 1);
}
```
and broadcasted packets don't know about it

```
this.namespace.in(this.flags.room).except(this.id).packet(packet);
```

after callbacks come

```
if (socket.acks[packet.ackId]) {
socket.acks[packet.ackId].apply(socket, packet.args);
} else {
this.log.info('unknown ack packet');
}
```

they just being dropped.