Golang 在我的直播中超时

标签 go streaming httpresponse

我正在尝试编写一个从 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/

相关文章:

go - Go GRPC opentracing中的子范围

go - 单值上下文中的多值

apache-spark - Spark 流可视化

c# - HttpResponse.WriteFile 方法参数 bool readIntoMemory 有什么作用?

spring-boot - spring boot RestController获取HttpServletResponse内容

go - 在所有记录器中使用请求 ID

go - 在 go channel 上选择内部范围

session - 带有流和 session 的 NetTcpBinding

Java 文件未写入带有换行符的流

json - 如何从 get 请求中获取 json 响应而不是 html 响应?