我的代码如下:
_, err := websocket.Dial("wss://remote-server", "", "http://localhost")
if (err == nil) {
fmt.Println("Worked!")
} else {
fmt.Println("Fail")
}
当remote-server
关闭时,超时需要60秒。我找到websocket.SetDeadline
(http://godoc.org/code.google.com/p/go.net/websocket#Conn.SetDeadline),但我还没有连接来应用它。我可以将Config
传递给DialConfig
,但我无法确定指定超时的位置。
我发现https://code.google.com/p/go-wiki/wiki/Timeouts,这是我必须这样做的吗?如何从goroutine正确传递错误代码?
答案 0 :(得分:2)
我还没有使用过去的websocket包,但是我可以从文档中推断出应该使用net.DialTimeout(...)加上websocket.NewClient(...)
source of DialConfig使用相同的方法,但仅限于net.Dial。