Asynchronous HTTP client.
- By Andrei Nazariev
- December 1, 2001
Architect's Corner
Servlet adapters can solve your socket problems
by Andrei Nazariev
Listing 6. Asynchronous HTTP client.
// Usage: java RestrictedClient2 [updateInrevalInSeconds]
class RestrictedClient2 extends Thread {
//this line has to be modified according to your particular Web
//server
final static String servletCodeBase = "http://localhost:8080/servlet/";
RestrictedClient2(int interval) {
try {
start();
URL url = new URL(servletCodeBase + RequestAdapter?
interval=" + interval);
BufferedReader reader = new BufferedReader(
new InputStreamReader(url.open
Connection().getInputStream()));
if (!reader.readLine().equals("Success")) {
System.out.println(" Couldn't subscribe to server. Exiting!");
System.exit(1);
}
}catch(Exception e) { e.printStackTrace(); }
}
public void run() {
try {
URL url = new URL(servletCodeBase + "ResponseAdapter");
InputStream is = url.openConnection().getInputStream();
ObjectInputStream in = new ObjectInputStream(is);
while (true) {
System.out.println((Date)in.readObject());
}
}catch(Exception e) { e.printStackTrace(); }
}
static public void main(String[] args) {
new RestrictedClient2(args.length > 0 ? Integer.parseInt(args[0]) : 10);
}
}
About the Author
Andrei Nazariev is a senior Java architect at Sun Microsystems' Sun Java Center in Orlando, FL. He can be contacted at [email protected].