Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从java apache服务器HttpRequestHandler.handle()中关闭套接字以拒绝上载?_Java_Android_Apache Httpcomponents - Fatal编程技术网

如何从java apache服务器HttpRequestHandler.handle()中关闭套接字以拒绝上载?

如何从java apache服务器HttpRequestHandler.handle()中关闭套接字以拒绝上载?,java,android,apache-httpcomponents,Java,Android,Apache Httpcomponents,我有一个java(android)应用程序,它使用ApacheHTTP框架(android附带)运行HTTP服务器 在我的句柄(HttpRequest-req、HttpResponse-resp、HttpContext-ctx)方法中,我执行一些逻辑来决定是否接受PUT请求 如果我决定拒绝上传,我可以在实体上执行consumeContent()(或者甚至执行getContent().close())但在客户端,我仍然看到上传继续 我很想节省带宽并关闭套接字,但我不知道如何从handle()方法内

我有一个java(android)应用程序,它使用ApacheHTTP框架(android附带)运行HTTP服务器

在我的
句柄(HttpRequest-req、HttpResponse-resp、HttpContext-ctx)
方法中,我执行一些逻辑来决定是否接受PUT请求

如果我决定拒绝上传,我可以在实体上执行
consumeContent()
(或者甚至执行
getContent().close()
)但在客户端,我仍然看到上传继续


我很想节省带宽并关闭套接字,但我不知道如何从handle()方法内部访问套接字。

解决此问题的方法是抛出异常,这将导致将HTTP错误消息发送回客户端并关闭服务器端套接字。

然后我被迫禁用Apache客户端重试。幸运的是,这可以通过setHttpRequestRetryHandler(新的DefaultHttpRequestRetryHandler(0,false))实现;