I wasn't getting disconnected, but the socket went silent (after maybe a minute?) if I didn't reply to pings - maybe that's what's happening to you? The implementation is actually very straightforward - take a look at the application-*.js file on the bitfinex site to see how they do it.
(never did a websocket client myself in node, so I can't help you on that front I'm afraid)
I thought it was that at first, but I keep getting the behavior you describe, even when I pong back. Are you authenticated?