Chat is working

This commit is contained in:
2021-03-17 16:51:37 +11:00
parent 3e31429a4f
commit b265d1f417
6 changed files with 691 additions and 45 deletions
+26
View File
@@ -10,3 +10,29 @@ TODO: document the chat server setup
TODO: document the chat server api
socket.io
```
on connection -> wait for "create user" event
on create user -> join #general as @username; socket.roomName = 'general'; socket.username = 'username'; accept only JWTs, send "backlog" message
on message -> socket.to(socket.roomName).emit('message'); //scan for commands via middleware
on disconnect -> cleanup etc.
regular user API:
/join #room -> room is set to #room, join and leave commands are issued (this can also "create" new rooms)
/whisper @username -> disallow if roomName is different between two users
```
```
//user count
let room = io.sockets.adapter.rooms['my_room'];
let count = room.length;
```
https://socket.io/docs/v3/middlewares/