Greg, Does it matter whether or not the subthread that does the URL connection hangs? By invoking subthread.join(long millisec) the main thread will always get back control after the stipulated amount of time has elapsed (or sooner if the connection was successful). In other words, let the subthread fall off the end of the earth. Stan
-----Original Message----- From: Greg Nudelman [mailto:[EMAIL PROTECTED]] Sent: Tuesday, October 01, 2002 5:22 PM To: JDJList Subject: [jdjlist] RE: HttpURLConnection timeout Stan, do you happen to have any code/links for killing the rogue thread? interrupt() does not seem to work. Greg -----Original Message----- From: [EMAIL PROTECTED] [ mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] Sent: Tuesday, October 01, 2002 4:42 PM To: JDJList Subject: [jdjlist] RE: HttpURLConnection timeout I know you can set the timeout on a Socket. Unfortunately, it doesn't appear that URLConnection provides access to the underlying socket. :-( You can always run your code in a thread and have your main thread do a join for the stipulated time... Stan -----Original Message----- From: Greg Nudelman [ mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] Sent: Tuesday, October 01, 2002 4:10 PM To: JDJList Subject: [jdjlist] HttpURLConnection timeout Dear All: How do I set the timeout for an HttpURLConnection running from a server? i.e. if it did not get the response back in stipulated time, drop the connection? This is my server connection code, look for a FIXME note. I found lots of notes about the Servlet utilities for this, but little about the server-based URL connections. Thanks! Greg //begin open URL URL url = new URL(urlString); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod(POST); conn.setAllowUserInteraction(false); // you may not ask the user conn.setDoOutput(true); // we want to send things conn.setDoInput(true); // we want recieve things conn.setUseCaches(false); // turn off caching //the Content-type should be default, but we set it anyway conn.setRequestProperty("Content-type", "application/x-www-form-urlencoded"); //fixes Netscap bug?? Do we need this? //conn.setRequestProperty("User-Agent","Mozilla/4.7 [en] (Win98; I)"); //the content-length should not be necessary, but we're cautious conn.setRequestProperty("Content-length", Integer.toString(body.length())); OutputStream rawOutStream = conn.getOutputStream(); out = new DataOutputStream(rawOutStream); out.writeBytes(body); out.flush(); out.close(); // get the input stream for reading the reply // IMPORTANT! Your body will not get transmitted if you get the // InputStream before completely writing out your output first! //FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! FIXME!! put some type of the timeout code here!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!? InputStream rawInStream = conn.getInputStream(); in = new BufferedReader(new InputStreamReader(rawInStream)); String inputLine; while ((inputLine = in.readLine()) != null) responseMessage.append(inputLine); in.close(); ____________________________________________________ To change your JDJList options, please visit: http://www.sys-con.com/java/list.cfm <http://www.sys-con.com/java/list.cfm> Be respectful! Clean up your posts before replying ____________________________________________________ ____________________________________________________ To change your JDJList options, please visit: http://www.sys-con.com/java/list.cfm <http://www.sys-con.com/java/list.cfm> Be respectful! Clean up your posts before replying ____________________________________________________ ____________________________________________________ To change your JDJList options, please visit: http://www.sys-con.com/java/list.cfm Be respectful! Clean up your posts before replying ____________________________________________________ ____________________________________________________ To change your JDJList options, please visit: http://www.sys-con.com/java/list.cfm Be respectful! Clean up your posts before replying ____________________________________________________
