Я начинаю поиграть с websockets + пойти и хорошо. Думаю, я неправильно понимаю что-то общее с websockets в Go.
Я бы хотел просто прослушать подключение к веб-сокету и обработать его соответствующим образом. Однако все примеры, которые я вижу в Go, используя websocket, служат веб-странице, которая затем подключается к websocket, это требование?
Ниже приведен базовый эхо-сервер, который у меня установлен:
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);
};
Однако это приводит к: Соединение WebSocket с 'ws://localhost: 8080/echo' не выполнено: Неожиданный код ответа: 403