不幸的是,JDK的HttpUrlConnection或UrlConnection不会异步运行。因此,如果HTTP连接因任何原因而挂起,您将最终失去一个线程。此外,Selector的多路复用允许仅使用几个线程来进行大量的HTTP GET调用。 所以,我一直在开发一个使用NIO的Selector并生成HTTP GET的代码。因此,除了完全支持HTTP 1.1之外,核心运行良好,我必须支持Keep-Alive,chunked-transfer-mode以及HTTP 1.1支持的其他一些东西。
所以,我一直在寻求用Netty做这个,但是我找不到一个例子,它展示了如何使用单个线程发出几个HTTP GET请求。
所以,如果有人能指出我的网络示例或任何其他适当的图书馆,我将不胜感激。 谢谢
答案 0 :(得分:1)
Netty的Channel EventLoop模型管理最少数量的线程以支持最大数量的客户端连接。它融入了框架。
API Docs中有一些HTTP示例(源文件中有一个名为example的文件夹)。根据Manning书籍GitHub中的示例,Netty in Action上还有一些HTTP示例。第15章 - 本书的EventLoop和Thread-Model详细讨论了所有这些。