mirror of
https://github.com/socketio/socket.io.git
synced 2026-04-30 03:00:39 -04:00
lib/namespace.js previously was not considering whether an event had binary data and was giving all events parser.EVENT type -- now it uses the has-binary-data module to set the event type appropriately. Then, after this fix there was a problem with lib/adapter.js -- because socket.io-parser modifies the packet object in its encoding, the sockets after the 1st in a broadcast were not getting the correct data. To fix this, the data is encoded once in adapter, and then the encoded data is passed to each of the sockets. lib/socket.js and lib/client.js were updated to allow for the above. The .packet method of each now takes an optional second "preEncoded" parameter -- if this is true, then client skips the encoding and just writes the packet argument directly to engine. test/socket.io.js was updated to add two new tests that test multi-messaging of events with binary data.