A chat server and client that uses Google Protobuf over websocket for communication, written in C#.
Defined in the protobuf definition.
- Client connects to server websocket
- Client sends a
Join
message with name, room, etc. - Server sends a
JoinResponse
message- If the join is successful, it will contain a
JoinResponseSuccessful
message, with the room's information - Otherwise, will contain an
Error
enum
- If the join is successful, it will contain a
- Server will emit a
MessageFromServer
message- It will contain a
Chat
message with the sender's info, andtime
in unix epoch ticks
- It will contain a
- The client should reply with a
MessageToServer
- It should contain a
ReadReciept
message with required information - It should contain a
time
value in unix epoch ticks
- It should contain a
- Server will emit a
MessageFromServer
message- It will contain a
UserAction
message, andtime
- The action is shown in the
UserAction.action_type
field - It will be of type enum
ActionType
- It will contain a
- Server will emit a
MessageFromServer
message- It will contain an
Error
enum, denoting the type - will contain
time
- It will contain an
- Server will emit a
MessageServer
message- will contain a string
server_broadcast
andtime
- will contain a string