习惯性的方法来超时websocket.Dial去?

我有以下代码:

_, err := websocket.Dial("wss://remote-server", "", "http://localhost")

if (err == nil) {
  fmt.Println("Worked!")
} else {
  fmt.Println("Fail")
}

当远程服务器关闭时,超时需要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正确传递错误代码?

最佳答案 我还没有使用过去的websocket包,但是我可以从文档中推断出应该使用
net.DialTimeout(…)加上
websocket.NewClient(…)

source of DialConfig使用相同的方法,但仅限于net.Dial.

点赞