Re: [問題] httpClient 的reuse

看板Programming作者時間16年前 (2009/05/17 13:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
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 >
文章代碼(AID): #1A3w5K00 (Programming)
文章代碼(AID): #1A3w5K00 (Programming)