buzzer-game/main.go

48 lines
916 B
Go

package main
import (
"log"
"net/http"
"sync"
"github.com/gorilla/websocket"
)
type webSocketHandler struct {
upgrader websocket.Upgrader
}
// GLOBALS
var connections int = 0
var wg sync.WaitGroup
func (wsh webSocketHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
//upgrade http connection to websocket
connection, err := wsh.upgrader.Upgrade(w, r, nil)
if err != nil {
log.Printf("Error while upgrading connection to websocket: %s", err)
return
}
connections++
log.Printf("New websocket connection. There are now %v\n", connections)
wg.Add(1)
go func() {
for {
}
}()
defer connection.Close()
}
func main() {
webSocketHandler := webSocketHandler{
upgrader: websocket.Upgrader{},
}
var port string = "8080"
http.Handle("/", webSocketHandler)
wg.Add(1)
log.Printf("listening on port %s...\n", port)
log.Fatal(http.ListenAndServe("localhost:8080", nil))
wg.Wait()
}