mirror of
https://github.com/screego/server.git
synced 2025-10-04 15:52:43 +08:00

In client.go if room, ok := message.(outgoing.Room); ok { c.info.RoomID = room.ID } this part isn't thread safe. It could happen that user disconnected but wasn't removed from a room, because the disconnecting go routine couldn't see the roomID yet.
9 lines
154 B
Go
9 lines
154 B
Go
package ws
|
|
|
|
type Connected struct{}
|
|
|
|
func (e Connected) Execute(rooms *Rooms, current ClientInfo) error {
|
|
rooms.connected[current.ID] = ""
|
|
return nil
|
|
}
|