aio-libs / sockjs

SockJS Server
Apache License 2.0
118 stars 40 forks source link

Reuse session.id to persist connections across refreshes #341

Open colinschwegmann opened 4 years ago

colinschwegmann commented 4 years ago

Hi all,

I don't know if what I've encountered is a bug or the expected behaviour. I'll need to hear opinions on this.

Essentially, a web app has been created that connects to the sockjs server a fixed URL and port. Additionally, we have a case where we would like to reconnect to the same socket session (id) after a refresh or disconnect (based on a unique user id).

When we leave the sockjs server to generate the UUID for each refresh we get a connection and we can send and receive messages correctly. However, if we provide a fixed session.id the first connection to the sockjs server works perfectly. A refresh on that page produces the following:

  1. Multiple repeated 101 upgrades but no connection for approximately 20s.
  2. Eventually when the socket connection is established no messages are sent back to the server. It's as if the connection is there but broken.

Please excuse my ignorance if I don't understand a concept here, but, seeing as the session.id can be specified why would this approach not work?