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

时间:2017-12-04 14:38:46

标签: 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
}

当我在chrome或Web套接字客户端中运行以下url时出现错误

websocket:不是websocket握手:'Connection'标题中找不到'upgrade'标记

localhost:8081/mypath

我想运行它

ws://localhost:8081/mypath

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

要检查它,我使用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

1 个答案:

答案 0 :(得分:1)

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

Gorilla软件包包括examples,其中显示了如何从浏览器进行连接(chatcommand示例是开始的好地方。)

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

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