私はwebsockets +と一緒に遊び始めていますが、私はGoのwebsocketでかなり基本的なことを誤解していると思います。Goでwebsocketを提供する
私は単に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へ WebSocketの接続::
ws = new WebSocket("ws://localhost:8080/echo");
ws.onmessage = function(e) {
console.log("websock: " + e.data);
};
しかし、これは、その結果//localhost:8080/echo 'failed:予期しない応答コード:403
ifブロックの中断とはどういう意味ですか? –
@ElgsQianChenブレークは、最初のメッセージの後に切断されないように、forループにReceiveとSendを置いておくことの可能性が最も高いです。私はそれを代わりに 'return'に変更しました。 – ANisus
ああ、そうだ。 @ANisusの説明をありがとう。 –