繁体   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