diff --git a/main.go b/main.go index cec5440..58e2379 100644 --- a/main.go +++ b/main.go @@ -27,11 +27,24 @@ func (wsh webSocketHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { log.Printf("New websocket connection. There are now %v\n", connections) wg.Add(1) go func() { + defer connection.Close() for { - + msgType, message, err := connection.ReadMessage() + if err != nil { + log.Printf("Error trying to read message from client: %s", err) + return + } + if msgType == websocket.BinaryMessage { + err = connection.WriteMessage(websocket.TextMessage, []byte("this server does not support binary messages")) + if err != nil { + log.Printf("Error trying to send message to client: %s", err) + } + return + } + log.Printf("received message from client: %s", message) + err = connection.WriteMessage(websocket.TextMessage, []byte("Message received!")) } }() - defer connection.Close() } func main() {