java中处理http连接超时的方法
这段时间,我玩了一个j2me的小游戏。我用的是http连接,从论坛学了一个方法。
"声明一个布尔公共变量,指示当前httpconnection是否从服务器获得响应。
将此变量设置为false在连接到您的连接线程之前;
启动另一个监控线程,获取HttpConnection的连接对象,循环监控布尔公共变量。如果你的布尔公共变量在指定时间内(20秒后)还是false,那么主动设置httpconnection=null。这样,那边的连接线程就会抛出异常退出。”——郑云
写定时器类实现。(学习如何在国外网站上写)
类计时器扩展线程{
/* *检测到多少毫秒*/
protected int m _ rate = 100;
/* *以毫秒为单位计算超时长度*/
private int m _ length;
/* *已运行时间*/
private int m _ elapsed;
/**
*构造函数
*
* @ paramlength
*发生超时之前的时间长度
*/
public timer(int length){
//赋值给成员变量
m _ length = length;
//设置经过的时间
m _ elapsed = 0;
}
/* *
* retime
*
*/
public synchronized void reset(){
m _ elapsed = 0;
System.out.println("重置计时器");
}
/**
*被故意设置为超时,当服务器返回错误时可以直接调用这个,并将其作为超时
*/
public synchronized void settimeout()[/]
}
/* *
*/
public void run(){
//loop
System.out.println("计时器运行");
for(;;){
//让定时器休眠
try {
thread . sleep(m _ rate);
} catch(interrupted exception ioe){
continue;
}
synchronized (this) {
//递增剩余时间
0条评论