私はwebsockets + goをいじり始めていますが、Goのwebsocketsで非常に基本的なことを誤解していると思います。
私は単に websocket 接続をリッスンし、それに応じて処理したいと思います。ただし、Go で websocket を使用して表示されるすべての例は、websocket に接続する Web ページを提供しています。これは要件ですか?
以下は、私がセットアップした基本的なエコーサーバーです。
package main
import (
"fmt"
"code.google.com/p/go.net/websocket"
"net/http"
)
func webHandler(ws *websocket.Conn) {
var s string
fmt.Fscan(ws, &s)
fmt.Println("Received: ", s)
}
func main() {
fmt.Println("Starting websock server: ")
http.Handle("/echo", websocket.Handler(webHandler))
err := http.ListenAndServe(":8080", nil)
if err != nil {
panic("ListenAndServe: " + err.Error())
}
}
これは、接続に使用される JavaScript です。
ws = new WebSocket("ws://localhost:8080/echo");
ws.onmessage = function(e) {
console.log("websock: " + e.data);
};
ただし、これは次のようになります: 'ws://localhost:8080/echo' への WebSocket 接続に失敗しました: 予期しない応答コード: 403