Wir haben nächsten Code.
Manchmal sollten wir 10-20-40 Sekunden auf der letzten Zeile warten.
Was kann das Problem sein?Manchmal HttpURLConnection.getInputStream führt zu langsam
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();
AKTUALISIERT:
Next Code behebt das Problem in der Eklipse.
aber es hat über Java WebStart :(
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
System.setProperty("http.keepAlive", "false"); //<---------------
conn.connect();
Aber warum?
AKTUALISIERT noch einmal!
Bug wurde immer noch nicht behoben! :)
Wir mit Verbindungen arbeitete nicht in einer Klasse, aber in zwei.
Und es gibt folgende Zeile in der zweiten Klasse:
URL url = ...
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Content-Length", "1000"); //<------------
conn.connect();
Hinweis: setRequestProperty("Content-Length", "1000")
ist Ursache des Problems.
Warum wird openConnection zweimal aufgerufen? –
Es ist nur Druckfehler. Korrigiert. –