我正在尝试编写一个从 http 请求接收数据流的 go 服务器。问题是一旦它收到 {status: connected}
我如何保持连接?
func stream() {
t := time.Now()
a := t.Format("15:03")
if a > string("08:30") && a < string("15:00") {
color.Red("Streaming. . .")
config := oauth1.NewConfig("HIDDEN", "HIDDEN")
token := oauth1.NewToken("HIDDEN", "HIDDEN")
httpClient := config.Client(oauth1.NoContext, token)
path := "https://stream.tradeking.com/v1/market/quotes.json?symbols=aapl"
resp, _ := httpClient.Get(path)
fmt.Println(resp)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Printf("Raw Response Body:\n%v\n", string(body))
defer resp.Body.Close()
} else {
color.Red("%s \nMarkets are closed! Please, come back later.", t)
}
}
我在main中调用这个函数。我还收到了类似标题的内容:
&{200 OK 200 HTTP/1.1 1 1 map[日期:[Mon, 16 Jan 2017 17:45:36 GMT] X-Powered-By:[Express] 服务器:[cloudflare-ngi
nx] 内容类型:[application/json] 连接:[keep-alive] Set-Cookie:[__cfduid=dcfcf86c79c56e659ce2b1bade3643c
981484588736; expires=星期二,2018 年 1 月 16 日 17:45:36 GMT;路径=/;域名=.tradeking.com; HttpOnly] 变化:[接受编码
g] Cf-Ray:[322361d0efd40938-DFW]] 0xc42032e0c0 -1 [分块] false true map[] 0xc4200d21e0 0xc42040cbb0}
最佳答案
原来市场因 MLK 日休市,因此服务器没有任何响应。
在一定超时后,远程服务器超时。
关于Golang 在我的直播中超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41682200/