在go中连接到安全websocket时出现问题

在go中连接到安全websocket时出现问题,go,gorilla,Go,Gorilla,我在go-lang做这件事时遇到了一些麻烦 到目前为止,我已经做了: u:=url.url{Scheme:wss,Host:streamer.cryptocompare.com} var拨号器*websocket.dialer 连接,错误:=dialer.Dialu.String,无 l、 洛格尔 msg,err:=json.marshallmessage{SubAdd,map[string]接口{}{subs:[]字符串{5~CCCAGG~BTC~USD}} l、 洛格尔 err=conn.W

我在go-lang做这件事时遇到了一些麻烦

到目前为止,我已经做了:

u:=url.url{Scheme:wss,Host:streamer.cryptocompare.com} var拨号器*websocket.dialer 连接,错误:=dialer.Dialu.String,无 l、 洛格尔 msg,err:=json.marshallmessage{SubAdd,map[string]接口{}{subs:[]字符串{5~CCCAGG~BTC~USD}} l、 洛格尔 err=conn.WriteMessagewebsocket.TextMessage,msg fmt.Printlnerr.Error l、 洛格尔 我还在学习WebSocket,以及如何使用它们

编辑:这是错误,我得到:

死机:运行时错误:无效内存地址或零指针取消引用 [信号SIGSEGV:分段冲突代码=0x1 addr=0x10 pc=0x718937] goroutine 22[跑步]: github.com/gorilla/websocket.*Conn.WriteMessage0x0、0x1、0xc420248020、0x36、0x40、0x0、0x0 /home/avl/go/src/github.com/gorilla/websocket/conn.go:734+0x37 main.SetupSockets0xc420058370 /home/avl/Dropbox/Development/mixed/server/crypto.go:55+0x378 由main.main创建 /home/avl/Dropbox/Development/mixed/server/main.go:21+0x9a 退出状态2 编辑2:crypto.go中的第55行对应于这个消息,err:=json.MarshalMessage{SubAdd,map[string]interface{{subs:[]string{5~CCCAGG~BTC~USD}}}

这里您在conn时得到错误,{,err:=dialer.Dialu.string,nil

意外EOF

您必须处理此错误,发生此错误的原因是服务器的响应:


在那个错误之后,WriteMessage方法就没有意义了。

不过,我已经更新了我的问题。你能解释一下为什么我会得到EOF吗?你的服务器有问题,u:=url.url{Scheme:wss,Host:echo.websocket.org}工作正常。dialer.Dial的第二个返回值是服务器的响应。我建议打印响应状态和主体,以查看可能的错误。此外,该服务使用socket.io。您需要使用或实现在websocket协议之上添加的socket.io。正在尝试,但运气不佳。响应为nileoft,此错误表示服务器正在关闭连接而未写入HTTP响应。可能是因为请求无效,服务器正在关闭连接。请参阅。但是谢谢!已经写好了!
resp, err := http.ReadResponse(conn.br, req)
if err != nil {
    return nil, nil, err
}