human-nature-lab / breadboard

Breadboard is a software platform for developing and conducting human interaction experiments on networks. It allows researchers to rapidly design experiments using a flexible domain-specific language and provides researchers with immediate access to a diverse pool of online participants.
http://breadboard.yale.edu
MIT License
29 stars 2 forks source link

Add client connect and disconnect events #49

Open wyattis opened 6 years ago

wyattis commented 6 years ago

This requires keeping track of client state using some form of ping/pong between the server and client.

wyattis commented 6 years ago

Could potentially switch to socket.io

wyattis commented 6 years ago

The README here has a nice list of all the benefits of using socket.io. The naive websockets currently used by breadboard could be a cause of proxy issues that some users have experienced.

disperse commented 4 years ago

I believe this functionality is part of the vue-client branch

wyattis commented 4 years ago

@disperse Disconnect events can be created manually using a heartbeat, but they are not included by default. All of the other useful functionality provided by socket.io is not present in the vue-client branch. Particularly having xhr-polling w/ connection upgrades would help with our occasional network issues. I'm not sure how difficult the switch to socket.io would be, but we may want to defer to a future release.