84 Commits

Author SHA1 Message Date
Guillermo Rauch
4e4bbf918e fix protocol violations and improve error handling (fixes #1880) 2014-11-21 04:16:37 +01:00
Tony Kovanen
624e7cb14f Fix splice arguments and socket.rooms value update in socket.leaveAll.
Hat tip @Marreck
2014-08-01 13:20:18 +02:00
Tony Kovanen
54726105cb Fixed handshake object address property and made the test case more strict. 2014-07-19 04:43:03 +03:00
Naoyuki Kanezawa
a66bea5b33 add removeListener to blacklisted events 2014-06-08 20:34:50 +09:00
Kevin Roark
27dada65b9 distinction between ACK and BINARY_ACK 2014-05-30 18:42:23 -07:00
Tony Kovanen
10adcb089e Added socket.handshake BC object 2014-05-24 17:02:47 +03:00
Guillermo Rauch
81e8a0c3a5 added support for volatile packets 2014-03-07 04:09:43 -06:00
Guillermo Rauch
adffabeee3 style 2014-03-07 03:41:22 -06:00
Guillermo Rauch
79dd06a767 socket: fix flags api state 2014-03-07 03:32:27 -06:00
Kevin Roark
c2bf0ea700 Added binary support to broadcasting of events
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.
2014-03-02 22:15:16 -05:00
Kevin Roark
d21b1f36a3 fixed the has-binary-data dependency 2014-02-21 17:10:53 -05:00
Kevin Roark
745ee03102 Added binary support to socket.io
This is a squash of about 25 commits, and here is a summary:

adamreis added initial binary test with the doge image.

kevin-roark updated binary tests and wrote some binary encoding protocol.

kevin-roark replaced the custom binary encoding with msgpack because we
have to handle arbitrary json that contains binary.

adamreis added some 'crazy' tests for emmiting and receiving events with
several types of data.

kevin-roark updated client.js to use socket.io-protocol's async encoding

Did a bunch of upstream merging.
2014-02-19 13:46:39 -05:00
Guillermo Rauch
2b5183b369 socket: revert onclose reason 2013-12-25 13:15:18 -03:00
Guillermo Rauch
14c71c2e72 socket: fix onclose reason 2013-12-25 13:13:02 -03:00
Guillermo Rauch
83208b6e11 socket: add conn, client, request getters 2013-12-24 21:36:48 -03:00
Guillermo Rauch
d31aafa5fd socket: fix style 2013-12-24 19:56:10 -03:00
Guillermo Rauch
0881dfbdce socket: rename joined to rooms 2012-12-24 15:07:04 -03:00
Guillermo Rauch
95d8e7531c socket: keep track of socket in connected hash 2012-12-23 23:21:50 -03:00
Guillermo Rauch
2e71357221 socket: added leaveAll 2012-12-23 23:21:37 -03:00
Guillermo Rauch
ef96e3b07f socket: added leave 2012-12-23 23:21:18 -03:00
Guillermo Rauch
6046c385b9 socket: added join 2012-12-23 23:21:07 -03:00
Guillermo Rauch
e8d11924aa socket: added in 2012-12-23 23:20:58 -03:00
Guillermo Rauch
eb0213882f socket: fix emit 2012-12-23 23:20:46 -03:00
Guillermo Rauch
de8e746959 socket: rooms and flags are now hashes 2012-12-23 23:20:26 -03:00
Guillermo Rauch
dc173330e5 socket: fix flags 2012-12-23 23:20:13 -03:00
Guillermo Rauch
d65635d212 socket: rename rooms to joined 2012-12-23 23:20:03 -03:00
Guillermo Rauch
902373196e socket: added broadcast flag 2012-12-18 17:28:14 -03:00
Guillermo Rauch
381bc4260a socket: forgot this js oddity that you can access objects with strings or numbers 2012-12-18 17:20:20 -03:00
Guillermo Rauch
8a5cb03fcb socket: fix Socket#ack 2012-12-18 17:20:01 -03:00
Guillermo Rauch
22c91d8e49 socket: allow for falsy packet.id 2012-12-18 17:19:36 -03:00
Guillermo Rauch
bd37a9a34b socket: protect against __proto__ deletion 2012-12-18 17:00:44 -03:00
Guillermo Rauch
a0020bcb2c socket: fix event packet 2012-12-18 15:22:16 -03:00
Guillermo Rauch
56ed3fbe75 socket: fixed packet handling 2012-12-18 15:15:12 -03:00
Guillermo Rauch
56221bc093 socket: attempt to send disconnect packets prior to closing the transport
this will prevent reconnection from triggering
2012-12-18 14:57:37 -03:00
Guillermo Rauch
5da04cd1a9 socket: fixed EventEmitter inheritance 2012-12-18 14:57:23 -03:00
Guillermo Rauch
342845d5c2 socket: added missing acks initialization 2012-12-18 14:56:58 -03:00
Guillermo Rauch
12d1dca7ca socket: added more blacklisted events 2012-12-18 14:56:24 -03:00
Guillermo Rauch
a8ea0f4fb0 socket: added Emitter mixin 2012-12-17 14:36:24 -03:00
Guillermo Rauch
b6a4899689 initial 1.0 commit 2012-12-13 12:14:54 -03:00
Daniel Baulig
00694a8a98 Fix issue #795 2012-03-19 22:03:31 +01:00
Guillermo Rauch
11f1a7c491 Merge pull request #347 from 3rd-Eden/socket.transport
Expose socket.transport
2011-10-07 10:07:05 -07:00
Guillermo Rauch
e3fb39da3d Corrected comment; (fixes #433) 2011-09-03 14:33:00 -07:00
Guillermo Rauch
69941e602b Fixed emission of error event resulting in an uncaught exception if unhandled (fixes #476). 2011-09-03 10:48:31 -07:00
Arnout Kazemier
a631f86b3b Merged with upstream master 2011-07-31 10:22:54 +02:00
Arnout Kazemier
53f0f4d66d Added alias for to to in and in to to 2011-07-14 21:31:55 +02:00
Guillermo Rauch
8798cfbced Merge pull request #340 from 3rd-Eden/291
It was emitting uknown room, so the messages where never send
2011-07-12 00:55:49 -07:00
Guillermo Rauch
0a2d0b9d0b Fixed disconnect logic 2011-07-12 03:41:15 -03:00
Guillermo Rauch
4495f5987a Simplified remote events handling in Socket. 2011-07-11 23:51:42 -03:00
Arnout Kazemier
9cfdb8ed97 Expose socket.transport 2011-07-06 00:10:25 +02:00
Arnout Kazemier
d39d1401c4 Fixed broken test suite 2011-07-05 00:59:31 +02:00