超时 websocket.Dial in go 的惯用方法?

我有如下代码:


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


if (err == nil) {

  fmt.Println("Worked!")

} else {

  fmt.Println("Fail")

}

当remote-serverdown 时,需要 60s 超时。我找到了websocket.SetDeadline(http://godoc.org/code.google.com/p/go.net/websocket#Conn.SetDeadline),但我还没有将它应用到的连接。我可以传递一个Configto DialConfig,但我看不到在哪里指定超时。


我找到了https://code.google.com/p/go-wiki/wiki/Timeouts,这是我必须做的吗?如何正确地从 goroutine 传回错误代码?


慕容森
浏览 336回答 1
1回答

largeQ

我还没有使用 go websocket 包,但从我可以从文档中推断出,应该使用net.DialTimeout(...)和websocket.NewClient(...)DialConfig的源使用相同的方法,但仅限于 net.Dial。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go