Cached website leads to simultaneous double connection
Description
When a user connects, a custom uuid is generated and appended to the url. Only this url should be valid at any given time and only one user should be connected. Once the connected user leaves, a new uuid is generated and forwarded to the next user in the waiting queue/the next user connecting. This user connects to streaming.akust.rwth-aachen.de/ to connect to the game.
The problem is now, when a user disconnects by e.g. closing their browser entirely, the system recognizes this, generates a new uuid and lets the next user in line enter. If the initial user then opens up their browser again, the previous site is loaded from browser cach although the uuid has been rendered invalid by now. Since the PixelStreaming peer2peer connection however doesn't know this we now end up with two people playing at the same time.
Steps to reproduce
- Start the streaming setup and a properly configured unreal project.
- Connect to streaming.akustik.rwth-aachen.de with a mobile phone
- Click 'home' on the phone and close the browser via the phone's multitasking view
- Connect to streaming.akustik.rwth-aachen.de again using a PC/other client that time
- Open up the browser on the phone again
Now you should be connected to the game with both the PC and the phone. This is not allowed to happen. If you refresh the page on the phone, you will receive:
"Oops, invalid link"
because the phone's uuid was rendered invalid along the way.
ToDo
Investigate, if somehow caching the webpage can be prevented. You could also try to enforce a refresh if the page is loaded from cache somehow. Investigation about if/how this is possible needs to be done first.
This should in the best case be fixed before performing larger scale tests with unknown people on the open internet.