Skip to content

Instantly share code, notes, and snippets.

@ginokent
Created January 25, 2021 02:46
Show Gist options
  • Save ginokent/2bee713addfb846ef5862de6217bc27f to your computer and use it in GitHub Desktop.
Save ginokent/2bee713addfb846ef5862de6217bc27f to your computer and use it in GitHub Desktop.
package main
import (
"log"
"net/http"
"github.com/gorilla/websocket"
)
var upgrader = websocket.Upgrader{} // use default options
func echo(w http.ResponseWriter, r *http.Request) {
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
log.Println("upgrade:", err)
return
}
for {
messageType, message, err := conn.ReadMessage()
if err != nil {
log.Println("read:", err)
break
}
log.Println("recv:", string(message))
err = conn.WriteMessage(messageType, message)
if err != nil {
log.Println("write:", err)
break
}
}
}
func main() {
log.SetFlags(log.LstdFlags | log.Lmicroseconds | log.Llongfile)
http.HandleFunc("/echo", echo)
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./static/"))))
log.Fatalln("fatal:", http.ListenAndServe("0.0.0.0:8080", nil))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment