Hallo,
ich frage Dateien über einen Server ab. Es funktioniert alles wunderbar, nur beim lesen kommt dann irgendwann diese Fehlermeldung:
java.net.SocketException: Connection reset
Für Dateien von einem anderen Server mache ich es genauso und es funktioniert einwandfrei. Sind vielleicht 1414 Zeilen zu viel?
Der Code sieht folgendermaßen aus:
Code:
try {
Socket sock = new Socket(url, config.getPort());
OutputStream out = sock.getOutputStream();
InputStream in = sock.getInputStream();
sock.setSoTimeout(60000);
//GET-Kommando senden
String s = "GET " + adr + " HTTP/1.1" + "\r\n";
s = s + "Host: " + url + "\r\n";
s = s + "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7" + "\r\n" + "\r\n";
out.write(s.getBytes());
OutputStream fileOut = new FileOutputStream(file);
int len;
byte[] b = new byte[100000];
try{
while ((len = in.read(b)) != -1) {
if(b != null)
fileOut.write(b, 0, len);
}
}
catch (Exception e)
{
System.out.println(e.toString());
}
out.close();
in.close();
fileOut.close();
return true;
}
catch(java.net.UnknownHostException e)
{
errorLog.write(url + "(einzel) : " + e.toString());
}
catch (MalformedURLException e) {
errorLog.write(url + "(einzel) : " + e.toString());
}
catch (SocketTimeoutException e)
{
errorLog.write(url + "(einzel) : " + e.toString());
return false;
}
catch (IOException e) {
errorLog.write(url + "(einzel) : " + e.toString());
}
return true;
}
Kann mir hier jemand weiterhelfen? Vielleicht auch, wie ich das Einlesen der Datei schneller gestalten kann. Es dauert so schon ganz schön lange.
Danke
susan
Lesezeichen