susan.kasten
10-10-2006, 12:34
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:
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
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:
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