我們有下一個代碼。
有時我們應該在最後一行等待10-20-40秒。
可能是什麼問題?有時HttpURLConnection.getInputStream執行太慢
的Java 1.4
URL url = ...;
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.connect();
OutputStream out = conn.getOutputStream();
ObjectOutputStream outStream = new ObjectOutputStream(out);
try
{
outStream.writeObject(objArray);
}
finally
{
outStream.close();
}
InputStream input = conn.getInputStream();
更新:
接下來的代碼解決了這個問題在Eclipse中。
但它仍然無法通過Java Webstart的:(
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
System.setProperty("http.keepAlive", "false"); //<---------------
conn.connect();
但爲什麼運作?
已更新一次!
錯誤是固定的!:)
我們與連接不在一個班級,但在兩個。
並且在第二類下面一行:
URL url = ...
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Content-Length", "1000"); //<------------
conn.connect();
注: setRequestProperty("Content-Length", "1000")
是問題的根源。
爲什麼openConnection被調用兩次? – 2009-12-17 10:25:36
這只是誤印。 更正。 – 2009-12-17 10:32:30