Hej,
Jag sitter och programmerar för en Android-telefon för tillfället men jag har ett väldigt irriterande problem. Jag gör enligt följande när jag försöker hämta en URL och dess innehåll:
private String downloadURL(URL p_pageUrl)
{
// Create a string buffer
StringBuffer buffer = new StringBuffer();
String line = "";
long start = 0;
long end = 0;
// Start the time taking
start = System.currentTimeMillis();
// Try to read the URL to a BufferedReader
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(p_pageUrl.openStream()));
while((line = br.readLine()) != null)
{
// Stop time and print result
end = System.currentTimeMillis();
// Have 10 seconds passed?
if ((end-start) > 10000)
{
message += "Time waited before timeout "+(end-start)+" ms.\n";
break;
}
// Add the data to the buffer
buffer.append(line + "\n");
}
}
catch (IOException e)
{
System.out.println(e);
message += e;
}
// Store in the string
String text = buffer.toString();
return text;
}
Jag vill att den ska sluta försöka om den inte hittar URL inom tio sekunder, vilket uppenbarligen inte fungerar. Den stannar troligen tidigare, när den försöker öppna strömmen.
Är t.ex. min server nere så väntar den i 3 min (180 000 ms), sen får jag:
java.net.SocketException: The operation timed out
Jag lyckas inte få detta att fungera!
Tips skulle VERKLIGEN uppskattas
Tack på förhand!
MVH
Johan