2012-04-26 49 views
0

我有一個從http請求中檢索數據的問題。 對於某些服務器請求,從服務器解析內容需要一分鐘。 請求中的數據是一個簡短的json消息(存儲在答案字符串中),所以它不需要很長時間。緩慢HttpResponse內容檢索與Android上的nginx

我使用org.apache庫中的Android

這僅僅同生產我們的nginx服務器,而不是與我發展的WEBrick服務器(是的,它是一個軌道API)發生

這段代碼是用來在使用我們的所有API意圖一個超類,但它只是在某些場合(一些API請求)

代碼在toString方法掛在三線緩慢

HttpResponse result = ... ; 
HttpEntity response = result.getEntity(); 
String answer = EntityUtils.toString(response); 

這是一個常見問題?

編輯: 這些是Wireshark的日誌 https://img.skitch.com/20120426-jddnkdbhuttfujym9u4m7a2ph1.jpg

+0

如果你做多線程的請求,你可以(在默認情況下2每臺主機)被擊中的連接限制和阻止自己 – zapl 2012-04-26 21:18:55

+0

這是在那一刻 – Quentin 2012-04-26 21:25:37

+0

Wireshark的日誌中只要求有服務器應答前65秒的延遲。我會把它解釋爲服務器問題,在你的Android代碼/設備中沒有任何關聯。 – zapl 2012-04-26 22:01:36

回答

0

玉傢伙,問題就解決了

這是一個服務器的問題畢竟 在Rails代碼,不要忘記添加狀態代碼

我們有:

respond_with({:auth_token => current_user.authentication_token}, :location => nil) 

這個固定:

respond_with({:auth_token => current_user.authentication_token},:status => :ok, :location => nil)