Avatar billede amoelle Nybegynder
03. august 2004 - 12:44 Der er 3 kommentarer og
1 løsning

kan man sætte timeout på en HttpUrlConnection

Kan man sætte timeout på en Url connection ??
Mit problem er, at
"c = (HttpURLConnection) pollUrl.openConnection();"
nogle gange hænger, dvs at der returneres ikke nogen responsecode ??
Tråden står bare og venter.....







    private String myStartSession() throws IOException {
      String cookie = null;
      String pollUrlStr = "http://" + HOST_NAME + "/" + POLL_URL;
      URL pollUrl = new URL(pollUrlStr);
      HttpURLConnection c = null;
    try {
        c = (HttpURLConnection) pollUrl.openConnection();
        logger.debug("OpenConnection, Responscode: " +c.getResponseCode());
        if (c.getResponseCode() == HttpURLConnection.HTTP_UNAUTHORIZED) {
            logger.debug("Responscode:  " + c.getResponseCode());
            throw new IOException();
        }
    cookie = c.getHeaderField("set-cookie");
    if (cookie == null) {
        throw new IOException();
        }
    return cookie;
        } catch (IOException e) {
            throw new SJConnectionException();
        }
    }
Avatar billede simonvalter Praktikant
03. august 2004 - 13:37 #1
Jeg kan ikke lige se noget i api'en det skulle hjælpe med det. Jeg ved man kan med socket men opslag på httpurlconnection giver resultater med folk der søger det samme.
Jeg har fundet et post med en der har lavet en løsning
http://groups.google.dk/groups?q=HttpURLConnection+set+timeout&hl=da&lr=&ie=UTF-8&selm=b7aab076.0401230914.6c2c678f%40posting.google.com&rnum=2

Hvis det ikke kan gøre det kan du selv lige kigge
http://groups.google.dk/groups?q=HttpURLConnection%20set%20timeout&hl=da&lr=&ie=UTF-8&sa=N&tab=wg
Avatar billede amoelle Nybegynder
03. august 2004 - 15:49 #2
tak for tippet, - det virker faktisk ;-)
Vil du ikke sende et svar, så du kan få dine points ?
mvh Anne
Avatar billede simonvalter Praktikant
03. august 2004 - 15:50 #3
ok :)
Avatar billede arne_v Ekspert
03. august 2004 - 19:59 #4
To alternativer:

System.setProperty( "sun.net.client.defaultConnectTimeout", "100");

inden første connection og alle connection vil have timeout på
1100 millisekunder (kræver Java 1.4 eller nyere).

2)

Skift til Apache commons HttpClient - deres HttpConnection klasse
har en setConnectionTimeout metode.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester