全新的 Go .. 显然仍在学习语法和基础知识.. 但我确实有一个特定的目标..我试图在 :8080 上建立一个简单的服务器,它可以响应 HTTP 和 socket.io(通过/socket.io/url),特别是 CORS。我的代码:package mainimport ( "log" "net/http" "github.com/rs/cors" "github.com/googollee/go-socket.io" ) func SayHelloWorld(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello, World!")) } func main() { c := cors.New(cors.Options{ AllowedOrigins: []string{"*"}, AllowCredentials: true, }) server, err := socketio.NewServer(nil) if err != nil { log.Fatal(err) } server.On("connection", func(so socketio.Socket) { log.Println("on connection") so.Join("chat") so.On("chat message", func(msg string) { log.Println("emit:", so.Emit("chat message", msg)) so.BroadcastTo("chat", "chat message", msg) }) so.On("disconnection", func() { log.Println("on disconnect") }) }) server.On("error", func(so socketio.Socket, err error) { log.Println("error:", err) }) http.Handle("/socket.io/", c.Handler(server)) http.HandleFunc("/", SayHelloWorld) log.Println("Serving at localhost:8080...") log.Fatal(http.ListenAndServe(":8080", nil))}在客户端,我仍然看到:与“wss://api.domain.com/socket.io/?EIO=3&transport=websocket&sid=xNWd9aZvwDnZOrXkOBaC”的 WebSocket 连接失败:在建立连接之前 WebSocket 已关闭。(index):1 XMLHttpRequest 无法加载https://api.domain.com/socket.io/?EIO=3&transport=polling&t=1420662449235-3932&sid=xNWd9aZvwDnZOrXkOBaC。请求的资源上不存在“Access-Control-Allow-Origin”标头。Origin ' http://fiddle.jshell.net ' 因此不允许访问。编辑#1:所以我一直在努力理解为什么我无法连接.. 遇到了一个更令人困惑的难题?https://gist.github.com/acoyfellow/167b055da85248c94fc4上面的gist是我的golang服务器的代码+用于连接的浏览器代码..这段代码每秒会向后端发送30个HTTP GET请求,没有连接、升级或给出任何错误(客户端或服务器端)。它本质上是我自己的 DDOS 后端?有人,请有人告诉我我在做一些愚蠢的事情..这真是泡菜:P
- 3 回答
- 0 关注
- 207 浏览
添加回答
举报
0/150
提交
取消