我有以下代码:
_, 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.