Socket.IO 0.9.1

1,564 views
Skip to first unread message

Guillermo Rauch

unread,
Mar 2, 2012, 6:24:42 AM3/2/12
to sock...@googlegroups.com
Small but enhancements / bugfixes packed release! Special thanks to Felix Geisendörfer from Debuggable on two major improvements:
  • More firewall/antivirus bypass support
  • Improved client side disconnection detection
Here's the full changelog:

Server
  • Changed heartbeat timeout and interval defaults (60 and 25 seconds)
  • Make tests work both on 0.4 and 0.6
  • Updated client (improvements + bug fixes).
Client
  • Misc corrections.
  • Added warning within Firefox about webworker test in test runner.
  • Update ws dependency [einaros]
  • Implemented client side heartbeat checks. [felixge]
  • Improved Firewall support with ActiveX obfuscation. [felixge]
  • Fixed error handling during connection process. [Outsideris]
As usual, thanks to the team and all contributors, and keep the feedback coming.

--
Guillermo Rauch
LearnBoost CTO
http://devthought.com

James H.

unread,
Mar 2, 2012, 10:48:36 AM3/2/12
to sock...@googlegroups.com
Awesome! I'll definitely be checking this out over the weekend.

Mike Seman

unread,
Mar 2, 2012, 1:10:31 PM3/2/12
to sock...@googlegroups.com
  • Implemented client side heartbeat checks. [felixge]”

Now there’s some fantastically unexpected awesome news-

Any idea how the disconnection is used? Sio.on(‘disconnect’) ?

 

Many thanks to each and every one of you beautiful contributors!

Brian Gruber

unread,
Mar 2, 2012, 5:45:06 PM3/2/12
to sock...@googlegroups.com
For some reason the new heatbeat timeout and interval settings cause all my clients to disconnect after 60 seconds and auto reconnect.

I had to change the server settings to:
io.set('heartbeat interval', 20);
io.set('heartbeat timeout', 60);

and that fixed it... not sure why, don't fully understand the heartbeat code yet.

- Brian
--
Regards,

Brian Gruber

Real time visitor analytics, chat, heatmaps & polls.

itsatony

unread,
Mar 2, 2012, 6:56:16 PM3/2/12
to Socket.IO
Hey Guillermo,

i updated socket.io today and now my clients disconnect regularly
(roughly every 45 seconds) (all sockets in parallel - without doing
anything. just loading the page and waiting).
I tested firefox 9 and latest chrome. node 0.6.11

Did I miss changes to config parameters that changed? I need the
sockets to stay alive ...

in any case, thanks for the great work!
Toni

On 2 Mrz., 12:24, Guillermo Rauch <rau...@gmail.com> wrote:
> Small but enhancements / bugfixes packed release! Special thanks to Felix
> Geisendörfer from Debuggable on two major improvements:
>
>    - More firewall/antivirus bypass support
>    - Improved client side disconnection detection
>
> Here's the full changelog:
>
> *Server*
>
>    - Changed heartbeat timeout and interval defaults (60 and 25 seconds)
>    - Make tests work both on 0.4 and 0.6
>    - Updated client (improvements + bug fixes).
>
> *Client*
>
>    - Misc corrections.
>    - Added warning within Firefox about webworker test in test runner.
>    - Update ws dependency [einaros]
>    - Implemented client side heartbeat checks. [felixge]
>    - Improved Firewall support with ActiveX obfuscation. [felixge]
>    - Fixed error handling during connection process. [Outsideris]

Mike Seman

unread,
Mar 2, 2012, 4:56:48 PM3/2/12
to sock...@googlegroups.com

Strangely, since updating my client socket .on(‘connect’) is no longer firing on the client, and the server appears to be routinely discarding transports with the heartbeats.

 

I’ve tried a dummy-emit and it appears to be logging that it’s working correctly, while the client isn’t receiving anything.

 

I’ve npm removed/reinstalled and still no luck.

 

Any pointers?

 

Thanks,

Mike

Guillermo Rauch

unread,
Mar 3, 2012, 6:43:25 AM3/3/12
to sock...@googlegroups.com
Roll back to 0.9.0 for the moment. I'm investigating

BrianGruber

unread,
Mar 3, 2012, 10:43:19 PM3/3/12
to Socket.IO
Not sure if you guys saw my post but this fixed it for me:

I had to change the server settings to:
io.set('heartbeat interval', 20);
io.set('heartbeat timeout', 60);

So, maybe that's a temporary fix for you.

- Brian

On Mar 3, 5:43 am, Guillermo Rauch <rau...@gmail.com> wrote:
> Roll back to 0.9.0 for the moment. I'm investigating
>
>
>
>
>
>
>
>
>
> On Fri, Mar 2, 2012 at 6:56 PM, Mike Seman <m...@floattothetop.com> wrote:
> > Strangely, since updating my client socket .on(‘connect’) is no longer
> > firing on the client, and the server appears to be routinely discarding
> > transports with the heartbeats.****
>
> > ** **
>
> > I’ve tried a dummy-emit and it appears to be logging that it’s working
> > correctly, while the client isn’t receiving anything.****
>
> > ** **
>
> > I’ve npm removed/reinstalled and still no luck.****
>
> > ** **
>
> > Any pointers?****
>
> > ** **
>
> > Thanks,****
>
> > Mike ****
>
> > ** **
>
> > ** **
>
> > *From:* sock...@googlegroups.com [mailto:sock...@googlegroups.com] *On
> > Behalf Of *Mike Seman
> > *Sent:* Friday, March 02, 2012 1:11 PM
> > *To:* sock...@googlegroups.com
> > *Subject:* RE: Socket.IO 0.9.1****
>
> > ** **
>
> >    - “Implemented client side heartbeat checks. [felixge]”****
>
> > Now there’s some fantastically unexpected awesome news-****
>
> > Any idea how the disconnection is used? Sio.on(‘disconnect’) ?****
>
> > ** **
>
> > Many thanks to each and every one of you beautiful contributors!**
>
> > ** **
>
> > ** **
>
> > ** **
>
> > *From:* sock...@googlegroups.com [mailto:sock...@googlegroups.com] *On
> > Behalf Of *James H.
> > *Sent:* Friday, March 02, 2012 10:49 AM
> > *To:* sock...@googlegroups.com
> > *Subject:* Re: Socket.IO 0.9.1****
>
> > ** **
>
> > Awesome! I'll definitely be checking this out over the weekend.
>
> > On Friday, March 2, 2012 6:24:42 AM UTC-5, Guillermo Rauch wrote:****
>
> > Small but enhancements / bugfixes packed release! Special thanks to Felix
> > Geisendörfer from Debuggable on two major improvements:****
>
> >    - More firewall/antivirus bypass support****
> >    - Improved client side disconnection detection****
>
> > Here's the full changelog:****
>
> > ** **
>
> > *Server*****
>
> >    - Changed heartbeat timeout and interval defaults (60 and 25 seconds)**
> >    **
> >    - Make tests work both on 0.4 and 0.6****
> >    - Updated client (improvements + bug fixes).****
>
> > *Client*****
>
> >    - Misc corrections.****
> >    - Added warning within Firefox about webworker test in test runner.****
> >    - Update ws dependency [einaros]****
> >    - Implemented client side heartbeat checks. [felixge]****
> >    - Improved Firewall support with ActiveX obfuscation. [felixge]****
> >    - Fixed error handling during connection process. [Outsideris]****
>
> > As usual, thanks to the team and all contributors, and keep the feedback
> > coming.****
>
> > ** **
>
> > --
> > Guillermo Rauch****
>
> > LearnBoost CTO
> >http://devthought.com****
>
> > ** **

Kris Reeves

unread,
Mar 11, 2012, 5:38:42 PM3/11/12
to sock...@googlegroups.com
It turns out to be really simple.

> , 'close timeout': 25
> , 'heartbeat interval': 25

The client-side timeout is the same as the server side polling interval by default, but it takes time for messages to cross the internet (and even if you're on localhost it's almost impossible to win that race!). This is why setting the heartbeat interval lower than 25 solves the problem; setting the close timeout higher will also solve the problem. I suggest you set the close timeout to 30 by default in the release, then the problem should be taken care of (assuming < 5 seconds of latency!)

Guillermo Rauch

unread,
Mar 12, 2012, 6:18:03 AM3/12/12
to sock...@googlegroups.com
Yep. Next release has a bigger close timeout :)
Thanks Brian and Kris for noticing this!
Reply all
Reply to author
Forward
0 new messages