diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-07-29 02:59:07 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-07-29 02:59:07 +0900 |
| commit | d1c8aa42aec32c8b042ae32d249df9c3c969453d (patch) | |
| tree | 2f248715213d12d6649f32b5ddcbb0d9a0281ed8 /backend/game/ws.go | |
| parent | 22ddf340f0b0c8d0cd04c34d9fa1481a1fbf422f (diff) | |
| parent | 161d82bee9f9e65680516a9cfd392e0cf297eadf (diff) | |
| download | phperkaigi-2025-albatross-d1c8aa42aec32c8b042ae32d249df9c3c969453d.tar.gz phperkaigi-2025-albatross-d1c8aa42aec32c8b042ae32d249df9c3c969453d.tar.zst phperkaigi-2025-albatross-d1c8aa42aec32c8b042ae32d249df9c3c969453d.zip | |
Merge branch 'game-playing'
Diffstat (limited to 'backend/game/ws.go')
| -rw-r--r-- | backend/game/ws.go | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/backend/game/ws.go b/backend/game/ws.go index 2ed17af..013db7a 100644 --- a/backend/game/ws.go +++ b/backend/game/ws.go @@ -17,28 +17,40 @@ const ( var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, + CheckOrigin: func(r *http.Request) bool { + // TODO: insecure! + return true + }, } -func servePlayerWs(hub *GameHub, w http.ResponseWriter, r *http.Request, team string) error { +func servePlayerWs(hub *gameHub, w http.ResponseWriter, r *http.Request, team string) error { conn, err := upgrader.Upgrade(w, r, nil) if err != nil { return err } - client := &GameClient{hub: hub, conn: conn, send: make(chan *Message), team: team} - client.hub.register <- client + player := &playerClient{ + hub: hub, + conn: conn, + s2cMessages: make(chan playerMessageS2C), + } + hub.registerPlayer <- player - go client.writePump() - go client.readPump() + go player.writePump() + go player.readPump() return nil } -func serveWatcherWs(hub *GameHub, w http.ResponseWriter, r *http.Request) error { +func serveWatcherWs(hub *gameHub, w http.ResponseWriter, r *http.Request) error { conn, err := upgrader.Upgrade(w, r, nil) if err != nil { return err } - watcher := &GameWatcher{hub: hub, conn: conn, send: make(chan *Message)} - watcher.hub.registerWatcher <- watcher + watcher := &watcherClient{ + hub: hub, + conn: conn, + s2cMessages: make(chan watcherMessageS2C), + } + hub.registerWatcher <- watcher go watcher.writePump() go watcher.readPump() |
