在本地运行 web-Socket 进行调试

4 go websocket

我正在使用 gorilla web socket,我想在本地运行它,我的意思是使用以下 chrome 客户端或其他推荐的工具……当我进入调试模式时,我遇到了错误

我用

"github.com/gorilla/websocket"


var upgrader = websocket.Upgrader{
    ReadBufferSize:  1024,
    WriteBufferSize: 1024,
}

upgrader.CheckOrigin = func(r *http.Request) bool { return true }

c, err := upgrader.Upgrade(w, r, nil)
if err != nil {
    log.Print("upgrade:", err)
    return
}
Run Code Online (Sandbox Code Playgroud)

当我在 chrome 或 web socket 客户端中运行以下 url 时出现错误

websocket:不是websocket握手:在“连接”标头中找不到“升级”令牌

localhost:8081/mypath
Run Code Online (Sandbox Code Playgroud)

我想运行它

ws://localhost:8081/mypath
Run Code Online (Sandbox Code Playgroud)

并为本地模拟提供令牌,我该怎么做?

为了检查它,我使用了 Chrome 的 Simple WebSocket Client。任何其他客户都会有所帮助

编辑:

当我在 chrome 控制台中尝试时,出现以下错误:

VM42:164 拒绝连接到“ws://localhost:8081/mypath”,因为它违反了以下内容安全策略指令:“connect-src 'self'uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3。 amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com

Cer*_*món 5

浏览器在获取要显示的网页时不使用 WebSocket 协议。从浏览器使用 WebSocket 端点需要代码。

Gorilla 包包含展示如何从浏览器连接的示例聊天命令示例是很好的起点)。

您可以使用浏览器控制台连接到 WebSocket 端点:

> ws = new WebSocket("ws://localhost:8080/mypath")
> ws.onmessage = function(ev) { console.log(ev.data) }
> ws.send("hello")
Run Code Online (Sandbox Code Playgroud)