Java的HttpServletResponse没有isClientConnected方法 [英] Java's HttpServletResponse doesn't have isClientConnected method

查看:74
本文介绍了Java的HttpServletResponse没有isClientConnected方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用java servlet实现一个长轮询http连接。

I'm implementing a long poll http connection using java servlet.

我怎么知道http客户端在任何实例上仍处于活动状态?目前,我所做的是将一个字节写入输出流并刷新数据。如果存在IO异常,那么客户端就已经死了。

How can I know that the http client is still active at any instance? Currently, what I do is to write a byte to the output stream and flush data. If there's an IO exception then the client is dead.

但是在ASP.NET中有一个属性, Response.IsClientConnected 可以查看客户端是否处于活动状态而不向输出流写入任何内容。

But in ASP.NET there is a property, Response.IsClientConnected which can find out if the client is active without writing anything to the output stream.

我想知道如何在java servlet中进行开发。我不想继续将数据写入http响应流,因为它可能会花费网络。

I want to know how if it is possible to develop in java servlet. I do not want to keep writing data into the http response stream as it may cost network.

提前致谢。

推荐答案

使用Servlet API很难实现这一点。虽然低级别的Socket API提供此功能( Socket.isConnected()),但是通过任何更高级别的API都无法使用相同的功能。不确定是否有使用Servlet API的强制措施,或者您可以使用低级套接字API。

It will be difficult to achieve that using Servlet APIs. Though the low level Socket APIs provide this functionality (Socket.isConnected() ), but same functionality is not available through any higher level APIs. Not sure if you any compulsions of using Servlet APIs or you can use low level socket APIs.

这篇关于Java的HttpServletResponse没有isClientConnected方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆