websocketのバージョンが違うって怒られた助けて
gorilla/websocketを使ってgoでwebsocket
今回はgithub.com/gorilla/websocketパッケージを使って、簡単なwebsocketをつかったgoプログラムを書いてみようと思います
まず、github.com/gorilla/websocketのドキュメントのoverViewを頼りにそれっぽいものを書いてみました
package main import ( "fmt" "log" "net/http" "github.com/gorilla/websocket" ) var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, } func handler(w http.ResponseWriter, r *http.Request) { conn, err := upgrader.Upgrade(w, r, nil) if err != nil { log.Println(err) fmt.Println("Bad request") return } fmt.Println(conn) } func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) }
main関数でhttpサーバーを立ててあげて、handler関数でupdateしてwebsocketで双方向通信ができるようになった、、、はずです しかし、これで走らせてみるとこんな結果が
2015/05/20 06:45:13 websocket: version != 13
どういうこっちゃねん、、、websocketのバージョンが13じゃないらしい https://github.com/gorilla/websocket/blob/master/server.go#L97 ブラウザ側がいけないんですかね。でも公式のサンプル走らせるとこんなことはなかったんだよなぁ、、、なんで