Skip to content

Commit 5f4cfd4

Browse files
committed
feat: hall
1 parent fd29cbc commit 5f4cfd4

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

driving/driving.go

+36-1
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,41 @@ func socketServer() (err error) {
5353
Origin: "*",
5454
Credentials: true,
5555
})
56+
var globalRooms map[string][]string
57+
5658
io := socket.NewServer(httpServer, c)
57-
err = io.On("connection", func(clients ...any) {
59+
err = io.Of("/hall", nil).On("connection", func(clients ...any) {
60+
client := clients[0].(*socket.Socket)
61+
err = client.Emit("sendRooms", map[string]interface{}{
62+
"roomData": globalRooms,
63+
})
64+
if err != nil {
65+
fmt.Println("Error in sendRooms", err)
66+
}
67+
err = client.On("createRooms", func(roomsData ...any) {
68+
for _, data := range roomsData {
69+
if data != nil {
70+
var jsonData []byte
71+
jsonData, err = json.Marshal(data)
72+
if err != nil {
73+
return
74+
}
75+
room := string(jsonData)
76+
globalRooms[room] = make([]string, 0)
77+
}
78+
}
79+
err = client.Emit("sendRooms", map[string]interface{}{
80+
"roomData": globalRooms,
81+
})
82+
})
83+
if err != nil {
84+
fmt.Println("Error in createRooms", err)
85+
}
86+
})
87+
if err != nil {
88+
return
89+
}
90+
err = io.Of("/room", nil).On("connection", func(clients ...any) {
5891
// only one client in this function
5992

6093
for i, client := range clients {
@@ -142,6 +175,8 @@ func socketServer() (err error) {
142175
roomID = data.RoomID
143176
var room = socket.Room(data.RoomID)
144177
fmt.Println("Info: client" + data.SocketID + " joined room " + data.RoomID)
178+
globalRooms[roomID] = make([]string, 0)
179+
globalRooms[roomID] = append(globalRooms[roomID], string(id))
145180
client.Join(room)
146181
// for _, i := range client.Rooms().Keys() {
147182
// fmt.Println(i)

0 commit comments

Comments
 (0)