Re: [問題] httpClient 的reuse
server 上會設定 keepalive 的timeout 以及次數 以及兩次連線的時間
間隔(不是全然由程式決定)
另外;client 需要使用 Connection: Keep-Alive
---
msn機器人相關資訊blog
http://rd-program.blogspot.com
"James" <cptl.bbs@ptt.cc> 撰寫於郵件新聞:4g2C0L$7mG@ptt.cc...
> 請問一下 httpClient 如何 reuse呢而不必每次重建connection?
>
> 我現在有一個函數, 會被頻繁呼叫去server上抓資料
> 一開始我是每次都 new 新的httpClient 及 httpPost 去連,
> 拿到資訊之後再呼叫 httpClient 的 abort 結束掉,
> 但發現似乎每次都重建連線是不好的!
>
> 我試過只 new 一次 httpClient, 而且拿到資料後不呼叫 httpClient.abort()
> 並在往後都只使用這個第一次new 出來的httpClient,
> 我發現到可能我呼叫第一次, 第二次時, 都還能正常的抓到資料回來
> 但大概到第三次時, 它就永遠卡在 execute() 並且永遠回不來了
> (但若我每次都結束後都呼叫 httpClient.abort, 並且每次重建 httpClient的話,
> 就不會有這種情況)
> 只是每次new httpClient建新的connection又是不良的設計,
> 因為這個函數很頻繁會被呼叫到!
>
> 請問這是什麼原因呢? 我要如何讓我的httpClient一直能reuse,
> 並且不會發生執行個兩三次後就回不來的情況!!
> 感激不盡!!
>
> --
> ※ 發信站: 批踢踢實業坊(ptt.cc)
> ◆ From: 216.239.45.19
>
討論串 (同標題文章)