我有一个简单的 go web 服务器,它在端口 localhost:8080 上提供一个公共文件夹,其中包含一个 html 文件以及一个带有 websocket 逻辑的客户端脚本。
在我的main.go 文件中
listener, err := net.listen("tcp", "localhost:8080")
if err != nil {
log.Fatal(err)
}
//full code in gist https://gist.github.com/Kielan/98706aaf5dc0be9d6fbe
然后在我的客户端脚本中
try {
var sock = new WebSocket("ws://127.0.0.1:8080");
console.log("Websocket - status: " + sock.readyState);
sock.onopen = function(message) {
console.log("CONNECTION opened..." + this.readyState);
//onmessage, onerr, onclose, ect...
}
我在 chrome 中遇到错误
WebSocket connection to 'ws://127.0.0.1:8080/' failed: Error during WebSocket handshake: Unexpected response code: 200
和火狐
Firefox can't establish a connection to the server at ws://127.0.0.1:8080/.
我发现这篇文章指的是 node.js 指示将 /websocket 添加到我的客户端 websocket 字符串,尽管它没有解决问题并导致 404
我认为响应代码 200 很好,我是否需要以某种方式将请求转换为 websocket,也许它默认为 http?如果是这样,我该怎么做?
BIG阳
相关分类