Commit Graph

110 Commits

Author SHA1 Message Date
Damien Arrachequesne
bafe684a19 refactor: refactor the handling of the options 2020-02-10 12:07:41 +01:00
Damien Arrachequesne
31ff87593f feat: reverse the ping-pong mechanism
The ping packets will now be sent by the server, because the timers set
in the browsers are not reliable enough. We suspect that a lot of
timeout problems came from timers being delayed on the client-side.

Breaking change: v3.x clients will not be able to connect anymore (they
will send a ping packet and timeout while waiting for a pong packet).

Related: https://github.com/socketio/engine.io/issues/312
2020-02-04 12:31:44 +01:00
Damien Arrachequesne
33564b2391 refactor: use prettier to format code 2020-01-14 21:58:38 +01:00
Damien Arrachequesne
da93fb6ef3 refactor: migrate to ES6 syntax 2020-01-12 22:47:18 +01:00
Damien Arrachequesne
49362abcd0 [fix] Fix undefined remoteAddress when using uws (#533)
Fixes https://github.com/socketio/socket.io/issues/2982
2017-10-11 07:29:52 +02:00
Damien Arrachequesne
fd20b91208 [test] Use npm scripts instead of gulp (#530) 2017-09-01 14:21:57 +02:00
Damien Arrachequesne
274efa120e [feature] Add an initialPacket option (#471) 2017-01-22 07:51:27 +01:00
Konstantin Zolotarev
a3496ed6eb [fix] Discard packets when socket is closed (#469) 2017-01-05 21:01:37 +01:00
Damien Arrachequesne
cd2ff466fc [fix] Only add defined callbacks to the stack (#447)
Before that commit, undefined callbacks were also added to the array,
which could lead to 'Maximum call stack size exceeded' error when
flush() method was called.

Fixes #399
2016-11-21 22:41:47 +01:00
Diga Widyaprana
7cbdd5e5d9 [style] Add ESlint (#385) 2016-10-31 02:40:58 +01:00
nkzawa
941a6ebf52 discard transport on server close 2016-01-21 20:02:54 +09:00
Luigi Pinca
cd97c7f412 polling: don't set the closeTimeoutTimer if the transport is upgraded 2016-01-17 20:19:03 +01:00
nkzawa
1472a79884 remove the compress option from control packets 2015-12-01 14:28:33 +09:00
nkzawa
5092c4fc95 don't compress control packets 2015-11-29 23:27:08 +09:00
nkzawa
02f9ed8173 remove listeners upon clearTransport 2015-09-30 05:26:51 +09:00
nkzawa
66d85e4a5c add tests for closing transports 2015-09-09 03:55:32 +09:00
nkzawa
4bce72c160 call onClose and add close timeout on polling transport 2015-09-09 03:55:10 +09:00
nkzawa
deb7ae40a4 fix sockets can stay open when upgrade failed 2015-08-29 03:48:05 +09:00
Guillermo Rauch
90d3286dad Merge pull request #336 from apeace/bug/socketio-1910
Fixes socket.io#1910 by calling transport.close() on ping timeout
2015-08-27 13:20:50 -07:00
nkzawa
5efbf46626 ensure sockets are closed on error 2015-08-21 03:37:49 +09:00
Andrew Peace
8e1f063c54 Fixes socket.io#1910 by calling transport.close() on ping timeout 2015-08-06 15:43:00 -04:00
Naoyuki Kanezawa
d11e17c8d7 support compression 2015-01-06 02:11:39 +09:00
Luigi Pinca
e754f7eb23 socket: flush the write buffer before closing the socket (fixes #293) 2014-10-25 22:04:16 +02:00
Luigi Pinca
00caf543b8 socket: allow upgrades if the socket is still in closing state
Fixes #284, courtesy of @3rd-Eden
2014-09-26 16:01:11 +02:00
Tony Kovanen
15afd3e2c3 Cache remote address in handshake since it might be lost later. 2014-07-19 04:47:38 +03:00
Guillermo Rauch
76628a0d9e socket: removed unneeded clearTimeout (fixes #250) 2014-04-26 10:50:27 -07:00
DimitarChristoff
e4593af733 fixing looping array via for in to normal loop 2014-03-21 11:32:13 +00:00
Guillermo Rauch
9ab3b106d9 socket: restore 0.8 compatibility 2014-02-12 12:40:22 -08:00
binlain
336e05b461 Fix dos by possibly creating many intervals 2014-02-12 22:12:39 +01:00
binlain
4c84571280 Merge pull request #1 from LearnBoost/master
123
2014-02-12 15:28:54 +01:00
Guillermo Rauch
aa0527fe54 Merge pull request #216 from mokesmokes/reqfix
fix Socket.request for upgraded sockets
2014-02-03 07:25:54 -08:00
Mark Mokryn
25e03c8351 Socket.request a simple property 2014-02-03 17:20:32 +02:00
Mark Mokryn
3b8d7863b8 Socket.request made a nonwritable Socket property set in constructor 2014-02-03 13:32:59 +02:00
Mark Mokryn
c8ddbf8e1c Emit upgrade event after new transport set 2014-02-02 01:59:09 +02:00
Guillermo Rauch
267001cb58 socket: style 2014-01-18 11:24:48 -08:00
binlain
9e01e245bf Use setImmediate instead of process.nextTick 2013-11-17 03:24:28 +01:00
Mark Mokryn
b4b4887f51 fix GH-198 2013-10-30 17:03:19 +02:00
Guillermo Rauch
d352ccdcda Revert "socket: clear timer after sending one noop packet (fixes #174)"
This reverts commit 752dab4c16.
2013-06-15 16:22:40 -07:00
Guillermo Rauch
752dab4c16 socket: clear timer after sending one noop packet (fixes #174) 2013-05-31 07:22:08 -07:00
Raynos
cb578ad70e clear timers in onClose 2013-05-20 23:37:15 -07:00
Raynos
316c84eef3 Clear all timers on socket close 2013-05-20 22:14:27 -07:00
albertyfwu
300b096000 test writeBuffer isn't cleared onError, removed 'closing' check in .flush() 2013-03-12 20:16:46 -04:00
albertyfwu
89de5f5975 fixed bug89 and added tests: writeBuffer not flushed until nextTick' 2013-03-12 02:59:47 -04:00
Andor Goetzendorff
4ef40991be close socket if upgrade is received and socket.readyState != open 2013-01-30 16:57:44 +01:00
roam
148f654c92 Fixed bugs in previous send callback fix and updated test cases 2013-01-16 17:31:42 +08:00
roam
06b39687eb Fixed send callback test failures 2013-01-16 14:35:56 +08:00
roam
41ee77e3c6 Revert "Revert "Fixed packet send callback design issue""
This reverts commit ead08d6e5b.
2013-01-15 17:17:47 +08:00
Guillermo Rauch
ead08d6e5b Revert "Fixed packet send callback design issue"
This reverts commit 0dfa68c710.
2012-12-26 17:19:41 -03:00
roam
0dfa68c710 Fixed packet send callback design issue
There were two issues here.
1. When Socket.send called with or without callback alternately,
   the trigger order is incorrect.
2. The 'drain' event from transport is one per packet for transports
   supporting framing like websocket and is all in one for those without
   framing like polling.
2012-12-20 00:49:32 +08:00
Guillermo Rauch
9d9fe9e2e2 socket: emit data event (synonym with message) 2012-12-17 09:57:54 -03:00