英文:
Golang is timing out on my stream
问题
我正在尝试编写一个 Go 服务器,该服务器从 HTTP 请求接收数据流。问题是,一旦接收到 {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[Date:[Mon, 16 Jan 2017 17:45:36 GMT] X-Powered-By:[Express] Server:[cloudflare-ngi nx] Content-Type:[application/json] Connection:[keep-alive] Set-Cookie:[__cfduid=dcfcf86c79c56e659ce2b1bade3643c 981484588736; expires=Tue, 16-Jan-18 17:45:36 GMT; path=/; domain=.tradeking.com; HttpOnly] Vary:[Accept-Encodin g] Cf-Ray:[322361d0efd40938-DFW]] 0xc42032e0c0 -1 [chunked] false true map[] 0xc4200d21e0 0xc42040cbb0}
英文:
I am trying to write a go server that receives a stream of data from an http request. The problem is that it times out once it receives {status: connected}
How do I keep the connection alive?
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)
}
}
I call this function in main. I also receive what looks like the header:
&{200 OK 200 HTTP/1.1 1 1 map[Date:[Mon, 16 Jan 2017 17:45:36 GMT] X-Powered-By:[Express] Server:[cloudflare-ngi
nx] Content-Type:[application/json] Connection:[keep-alive] Set-Cookie:[__cfduid=dcfcf86c79c56e659ce2b1bade3643c
981484588736; expires=Tue, 16-Jan-18 17:45:36 GMT; path=/; domain=.tradeking.com; HttpOnly] Vary:[Accept-Encodin
g] Cf-Ray:[322361d0efd40938-DFW]] 0xc42032e0c0 -1 [chunked] false true map[] 0xc4200d21e0 0xc42040cbb0}
答案1
得分: 0
原来市场因为马丁·路德·金纪念日而关闭,因此服务器没有响应。
在一定的超时时间后,远程服务器会超时。
英文:
Turn out that the the market was closed for MLK Day and hence there was no response from the sever.
After a certain timeout, the remote server times out.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论