enableKeepAlive client issue
I've enabled the `enableKeepAlive()` method on my websocket chatsystem for unstable connections (like WiFi). On the server side this seems to work as expected. The user remains "online" even when the connection is lost.

On the client side, `socket.onclose()` is instantly called when the internet connection is gone. According to the Websocket.readyState docs:

> The connection is closed or couldn't be opened.

So I understand this in 2 possible ways:

1. It's called because the connection can no longer be opened
2. It's called because Ratchet triggers a `close()` method somewhere despite the `enableKeepAlive()` method. (I've verified my own script and no `close()` method is called anywhere. Even commented them all out to be absolutely sure).

This isn't such a big deal though. With a loop, you can try reconnecting. But as soon as the connection is recovered, Ratchet gives the user a new `resourceId`. Essentially just creating a new user object for the client instead of attaching it the one that it's keeping alive.

And this is where it's becoming an issue. Lets say I have an online userlist. The user reconnects. The user already exists in the userlist because it's being kept alive. So no new user is added. Then, the keep alive timer runs out and closes the old `resourceId`. The user is removed from the userlist, but is still online. Just using a new `resourceId`. And that's where you end up with an invisible user in your chat.

So, my questions are:

1. Could this be a bug where Ratchet is closing the connection anyway? And if not:
2. What's the point of keeping a user object alive if you're not re-attaching it to the user when (s)he reconnects?
3. And lastly, how could I fix this issue?

Thanks in advance! :)