可能重複:
Receiving request timeout even though connect timeout and read timeout is set to default (infinite)?當ConnectTimeout和ReadTimeout無限時,SocketTimeoutException?
我試圖連接到一個Web服務,約20秒後收到了SocketTimeoutException
。託管Web服務的Tomcat服務器已關閉,因此預計需要Exception
。但是,我沒有設置ConnectTimeout和ReadTimeout的值。根據文件,這兩個的默認值是無限的。此
一種可能性是,我試圖連接到服務器都有其自己的超時。但是當我的朋友嘗試使用iOS連接它時,約1分15秒後他的連接超時。如果服務器是發出超時的服務器,則我們的連接應該幾乎同時超時。請注意,他也正在使用iOS的默認時間。
- 爲什麼我的套接字在連接和讀取超時設置爲無限時很早超時?
- 套接字超時是否與連接和讀取超時不同?如果是這樣,它有什麼不同?
- 我怎樣才能知道我的套接字超時值?我正在使用HttpURLConnection。
- 有沒有辦法設置套接字超時?怎麼樣?
下面是我的代碼片段:
httpURLConnection = (HttpURLConnection) ((new URL("http://www.website.com/webservice")).openConnection());
httpURLConnection.setDoInput(isDoInput);
httpURLConnection.setDoOutput(isDoOutput);
httpURLConnection.setRequestMethod(method);
try
{
OutputStreamWriter writer = new OutputStreamWriter(httpURLConnection.getOutputStream());
writer.write("param1=value1");
writer.flush;
}catch(Exception e)
{
}
轉播的:http://stackoverflow.com/questions/9986712/receiving-request-timeout-even-though-connect-timeout-and-read-timeout-is-set-to – Krrose27
你爲什麼要重新問你已經有了一個問題的答案? – EJP
@ Krroae27:謝謝你提到它。我很抱歉。我暫時停止解決這個問題,以完成不同的任務。我忘了我之前已經發布過類似的問題。 – Arci