Re-using the address
This is more a question than an issue, as I'm a little confused by the behavior. I understand that it's fairly common practice to re-use the incoming address of a connection to save on resources, however:

1. in my implementation of Ratchet, I add custom properties to the $conn object. For example, properties that define a users' unique session id so that I can determine whether the **connection** is considered a logged in user or not. This looks to work fine, as custom properties assigned directly to $conn seem to persist while the connection remains active. However, when I make another connection, from the same client, it seems to re-use the client address because the $conn object appears to have the same session id set as a connection made previously. When I change this though, for example: initiate a logout and unset the session id, this only appears to affect the $conn object that initiated the logout, making it appear that the $conn object is cloned rather than re-used. This is where I am a little confused. Could you explain whether this is intentional, and if so, it would be good to understand why this is the case?

2. I assume that "re-using" an address is simply done by checking the client's remote ip address. If so, this could potentially cause issues where websocket connections are created on public networks since all clients will use the same ip address. Has this been considered, and if so, how can we tweak this behavior?

On a side note, loving Ratchet so far. Keep up the good work!