2017-01-16 1 views
-2

Я пытаюсь написать сервер идти, который получает поток данных из запроса HTTP. Проблема в том, что он время от времени, как только он получает {status: connected} Как сохранить соединение живым?Golang истекает время на моем потоке

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) 
    } 
} 

Я называю эту функцию в основном. Я также получаю то, что похоже на заголовок: &{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}

+2

Что таймаут? Вы настраиваете тайм-аут самостоятельно, или это время ожидания удаленного сервера? И, пожалуйста, всегда проверяйте свои ошибки. – JimB

ответ

0

Оказалось, что рынок был закрыт на день MLK и, следовательно, от него не было ответа.

После определенного времени, удаленный сервер прекращает работу.

Смежные вопросы