【问题标题】:Java simple asynchronous HTTPS clientJava 简单的异步 HTTPS 客户端
【发布时间】:2011-09-25 18:05:51
【问题描述】:

我需要开发一个与 https 服务器通信的应用程序。 这个应用程序需要做一些异步数据传输。

我首先尝试使用 HttpsURLConnection 并使用带有可观察对象的单独线程来管理返回的 inputStream。观察者类会调用更新方法来做一些事情。 这种方法的问题是我在这里读到:HTTPUrlConnection error (Can't open OutputStream after reading from an inputStream) HttpUrlConnection 不能处理多个写入/读取。无论如何,那个帖子对我没有帮助。

我阅读了有关 Jetty 和 Apache HttpClient 的信息,但这些库分别为 2.8 和 4 兆字节,比我必须编写的应用程序大 10 倍以上。

所以:我正在寻找一个非常简单且可能是轻量级的 java 库来处理异步 https 连接,或者一种像 HttpURLConnection 这样多次使用连接的方法(第二种解决方案会更受欢迎,因为我的程序没有不需要做任何更复杂的事情,我也不需要导入任何其他库)。

顺便说一句:如果知道有用的话,我正在使用 sun httpServer 来制作 https 服务器。 如果您需要我发布我的代码的某些部分以使您更好地理解我在做什么,请询问。

谢谢

【问题讨论】:

  • 为什么不使用 Apache HttpClient?除非您正在编写智能手机应用程序,否则额外的 4 megs 是没有意义的,因为您不必寻找其他地方或自己动手,从而节省时间和金钱。
  • 实际上它不适用于智能手机,但我不能排除它需要移植。但无论如何,在您看来,apache httpclient 是否以相对简单的方式完成了我需要的工作?我的意思是我不需要像我说的那样做一些复杂的事情,一旦它给了我 https 和异步请求,它就可以满足我的所有需要​​。因此,如果您认为从这个角度来看 apache 客户端比 jetty、ning 或类似库“更好”,那么它可能是一个解决方案。

标签: java https httpclient


【解决方案1】:

如果库大小真的很重要,您可以考虑使用HttpCoreHttpCore 是一组基于 Apache HttpClient 的低级 HTTP 传输组件。它的占用空间约为 200-250 KB。

【讨论】:

  • 感谢您的回复,明天我会尝试找出哪些库更适合我的需求
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-12
相关资源
最近更新 更多