Concept explained - gretro/relay-train GitHub Wiki

Concept explained

Relay Train allows different client apps to communicate together without the logic being coded on the server. This can be useful for some Web Apps executing on the client side. It can act as a fallback for WebRTC for clients who do not support the peer-to-peer technology for different reasons.

Core features

  • Relay Train does not handle any application logic. It serves as a gateway technology between clients.
    • As such, Relay Train does not handle security between the clients. Your WebApp needs to determine ways to implement security. Some security features can be considered in the future.
  • Relay Train does not assume the format of the data. You can use text-based data or binary data.

Actions

Relay Train allows for different actions to be performed:

  • Create a new room (thus setting a given client as leader)
  • Joining a room as a follower / rejoining as a leader
  • Broadcasting a message from the leader to the followers
  • Whispering a message from the followers to the leader