亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

go的net/http中,client的timeout是否存在問題?

go的net/http中,client的timeout是否存在問題?

九州編程 2019-04-13 08:46:01
typeClientstruct{//Transportspecifiesthemechanismbywhichindividual//HTTPrequestsaremade.//Ifnil,DefaultTransportisused.TransportRoundTripper//CheckRedirectspecifiesthepolicyforhandlingredirects.//IfCheckRedirectisnotnil,theclientcallsitbefore//followinganHTTPredirect.Theargumentsreqandviaare//theupcomingrequestandtherequestsmadealready,oldest//first.IfCheckRedirectreturnsanerror,theClient'sGet//methodreturnsboththepreviousResponseand//CheckRedirect'serror(wrappedinaurl.Error)insteadof//issuingtheRequestreq.////IfCheckRedirectisnil,theClientusesitsdefaultpolicy,//whichistostopafter10consecutiverequests.CheckRedirectfunc(req*Request,via[]*Request)error//Jarspecifiesthecookiejar.//IfJarisnil,cookiesarenotsentinrequestsandignored//inresponses.JarCookieJar//Timeoutspecifiesatimelimitforrequestsmadebythis//Client.Thetimeoutincludesconnectiontime,any//redirects,andreadingtheresponsebody.Thetimerremains//runningafterGet,Head,Post,orDoreturnandwill//interruptreadingoftheResponse.Body.////ATimeoutofzeromeansnotimeout.////TheClient'sTransportmustsupporttheCancelRequest//methodorClientwillreturnerrorswhenattemptingtomake//arequestwithGet,Head,Post,orDo.Client'sdefault//Transport(DefaultTransport)supportsCancelRequest.Timeouttime.Duration}以上是部分源碼。之前有同學問,client的timeout存在問題,請問有其他人遇見了同樣的問題么?
查看完整描述

2 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

題主的問題很有些莫名其妙,只說有問題但沒說明究竟什么問題……不過我還是嘗試答一下吧。
如果要說Timeout有什么問題,需要注意注釋文檔里的這句話。
ATimeoutofzeromeansnotimeout.
如果你要發送很多請求,這個默認特性會害死人,在網絡有問題的時候它會造成Client生成的Request和Response對象以及相關goroutine得不到釋放,逐漸就吃滿內存導致程序掛掉。
所以使用go的時候最好不要直接使用http.Get之類的函數,這些都是使用默認Client的,沒有Timeout,如果非要用,那就把http.DefaultClient的Timeout設置上吧。
最后,我還是預感題主要問的問題跟我說的其實不搭界,啊,題主快現身把你的題目寫清楚吧~
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關注
  • 381 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號