當前位置:首頁 » 編程語言 » java請求超時

java請求超時

發布時間: 2025-10-14 06:07:01

java:這兩種設置超時時間有什麼區別

以下來自官方文檔,學習編程只要看文檔就可以了
setSoTimeout
public void setSoTimeout(int timeout)
throws SocketException
啟用/禁用帶有指定超時值的 SO_TIMEOUT,以毫秒為單位。將此選項設為非零的超時值時,在與此 Socket 關聯的 InputStream 上調用
read() 將只阻塞此時間長度。如果超過超時值,將引發 java.net.SocketTimeoutException,雖然 Socket
仍舊有效。選項必須在進入阻塞操作前被啟用才能生效。超時值必須是 > 0 的數。超時值為 0 被解釋為無窮大超時值。
參數:
timeout - 指定的以毫秒為單位的超時值。
拋出:
SocketException -
如果底層協議出現錯誤,例如 TCP 錯誤。

connect
public void connect(SocketAddress endpoint,
int timeout)
throws IOException
將此套接字連接到伺服器,並指定一個超時值。超時值零被解釋為無限超時。在建立連接或者發生錯誤之前,連接一直處於阻塞狀態。
參數:
endpoint - SocketAddress
timeout - 要使用的超時值(以毫秒為單位)。
拋出:
IOException - 如果在連接期間發生錯誤
SocketTimeoutException
- 如果在連接之前超時期滿
IllegalBlockingModeException
- 如果此套接字具有關聯的通道並且該通道處於非阻塞模式
IllegalArgumentException
- 如果端點為 null 或者此套接字不支持 SocketAddress 子類

㈡ java客戶端調用webservice 超時問題

用多線程來處理類似問題
將調用這個WebService的程序放到一個獨立線程A中,再創建另一個線程B用來計時,線程A和線程B共享一個變數responseOK。

在線程A中調用WebService之前啟動線程B,成功返回後設定responseOK=true。
線程B啟動後計時,如果responseOK==true則停止計時,如果計時超過20秒,則終止線程A並返回錯誤信息。

似乎webService調用的時候如果服務端超時應該會有異常觸發的,截獲此異常即可。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:710
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:972
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:681
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:833
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:741
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1081
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:312
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:192
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:879
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:837