java中處理http連線超時的方法

2021-05-26 07:27:14 字數 801 閱讀 6687

"宣告乙個boolean公共變數,表明當前httpconnection是否得到伺服器回應。

你的連線線程中在連線之前置這個變數為false;

另起乙個監視執行緒,拿到那個httpconnection的連線物件,並迴圈監視這個boolean公共變數。如果指定時間內(20秒後)你的 boolean公共變數還是false,那麼就主動置httpconnection=null。這樣,那邊連線線程就會丟擲異常退出 來。"  -----zhengyun

寫了timer類來實現.(學習國外乙個**上的寫法)

class timer extends thread 

/**

* 重新計時

* */

public synchronized void reset() 

/**

* 故意設定為超時,可以在伺服器有返回,但是錯誤返回的時候直接呼叫這個,當成超時處理

* */

public synchronized void settimeout()

/** 

*/ public void run()  catch (interruptedexception ioe) 

synchronized (this) 

} }

} /**

* 超時時候的處理

* */

public void timeout() 

} 在http連線線程呼叫的同是呼叫 new timer(20*1000).start();

需要重新計時時候呼叫timer.reset();

java中處理http連線超時

http是無狀態的連線,不像socket可以有timeout的異常,因此在判斷超時上一直比較困擾.這段時間做j2me的乙個小遊戲.用到了http連線,學習了論壇上說的一種方法.宣告乙個boolean公共變數,表明當前httpconnection是否得到伺服器回應。你的連線線程中在連線之前置這個變數為...

處理http連線超時的方法

宣告乙個boolean公共變數,表明當前httpconnection是否得到伺服器回應。你的連線線程中在連線之前置這個變數為false 另起乙個監視執行緒,拿到那個httpconnection的連線物件,並迴圈監視這個boolean公共變數。如果指定時間內 20秒後 你的boolean公共變數還是f...

tcp連線超時處理

設定connect超時很簡單,csdn上也有人提到過使用select,但卻沒有乙個令人滿意與完整的答案。偶所講的也正是select函式,此函式整合在winsock1.1中,簡單點講,作用使那些想避免在套接字呼叫過程中被鎖定的應用程式,採取一種有序的方式,同時對多個套接字進行管理 windows網路程...