首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的HTTP帖子和多线程

Java中的HTTP帖子和多线程
EN

Stack Overflow用户
提问于 2008-10-09 18:33:28
回答 1查看 1.7K关注 0票数 1

我正在编写一个内部Java小程序,通过HTTP上传文件。我开始使用内置的ClientHttpRequest,如果我想一个接一个地发帖,它工作得很好。当我试图让多个线程同时发布时,服务器端发生了一些异常,大文件的连接将挂起,同时仍在上传较小的文件。(大的似乎大约是10兆)经过大量的寻找,我无法找到一个我可以设置的超时来从这个错误中恢复,但最终找到了来自Apache的ClientHttp,它确实提供了一个设置超时的机制。它的问题是,虽然它声称能够在多线程程序中工作,但实际上它只执行一个接一个的请求。我发现了很多HttpClient的示例代码,它们说它可以在多线程上工作,并对我的代码进行了调整,以纳入这些更改,但它们都没有任何区别,我基本上仍然停留在一个线程上。

虽然发布并不需要多线程(HttpClient看起来确实比ClientHttpRequest快一点),但能获得额外的速度提升将是非常好的,因为有很多小文件可以同时发送。

这些文件是通过HTTP发送的,因为我们希望使用会话cookie对已经登录的用户使用相同的身份验证。

因此,我正在寻找一种方法来设置一个超时与ClientHttpRequest或HttpClient的代码,将实际发送多个请求在同一时间,如承诺。

我在线程之间共享相同的HttpClient实例,并使用多线程连接管理器(没有这个它甚至不能工作),就像文档所说的那样,它没有任何帮助。

任何帮助都将不胜感激,如果您需要任何澄清,请让我知道。

EN

回答 1

Stack Overflow用户

发布于 2008-10-09 21:16:06

查看您的代码示例可能会有所帮助。

也许问题出在applet环境上。您是在appletviewer、IDE还是在浏览器中测试它?浏览器通常设置为将到同一web服务器的连接数限制为2。您可以尝试添加main()并独立运行它,看看是否可以解决问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/188592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档