簡體   English   中英

HttpServletResponse:如何確定基礎連接是否仍處於打開狀態?

[英]HttpServletResponse : How to determine if the underlying connection is still open?

它是這樣的:在Tomcat 6上運行的基於Web的應用程序。客戶端向服務器發送請求,服務器進行一些處理,重定向到第三方URL,然后再次進行一些處理。

在執行重定向之前,我想知道客戶端連接是否仍處於打開狀態(以便防止第二次處理)。 我知道sendRedirect會引發IOException和IllegalStateException,並且可以在重定向失敗的情況下進行處理。

我還嘗試從響應中獲取輸出流,並將任何垃圾字符寫入該流。 但是沒有用(即使我在調用請求后從局域網中刪除了客戶端計算機)

我想知道-有什么方法可以確定客戶端和服務器之間的連接是否仍處於活動狀態?

舊問題,但我正在處理類似的問題,並找到了解決方案。

僅當服務器將某些內容發送回客戶端並且失敗時,才可以檢測到異常終止的HTTP連接。 要強制將數據發送到客戶端,必須在HttpServletResponse上調用flushBuffer() 如果連接異常終止,則拋出ClientAbortException

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM