1つのJavaScriptに2つのWebSocket繋げようとしたのですが、upgrade:websocket: request origin not allowed by Upgrader.CheckOrigin というエラーメッセージがでてきて、コネクションに失敗します。
で、よく分からんのですが、1行追加したら、直りました。
upgrader.Upgrade(w, r, nil)
の前に、
upgrader.CheckOrigin = func(r *http.Request) bool { return true }
を1行追加。
以下がサンプルコードです。
func echo2(w http.ResponseWriter, r *http.Request) {
upgrader.CheckOrigin = func(r *http.Request) bool { return true }
c, err := upgrader.Upgrade(w, r, nil) // cはサーバのコネクション
if err != nil {
log.Print("upgrade:", err)
return
}
defer c.Close()
まあ、相変わらず、理由は分からんのですが、結果オーライです。