![]() |
1
4
我建议你 libcurl . 我不太熟悉它,但它确实有一个 multi-interface 用于同时执行多个HTTP操作。
根据您使用的解决方案,可以在不使用多线程的情况下执行异步I/O。关键是要使用
|
![]() |
2
2
Web浏览器通常维护一个工作线程池来进行下载,并在它们变为空闲时将下载分配给它们。IIRC HTTP RFC有一些话要说,您应该同时与同一服务器建立多少同时连接:太多是不礼貌的。 如果有几个请求是针对同一个服务器的,并且它支持保持活动(几乎每个人都这样做),那么这可能比在多个同时请求中垃圾邮件要好。一般的想法是,您将一个TCP/IP连接用于串联的多个请求,从而节省握手开销。在我实现JavaHTTPn连接类的实践中,实际结果是,引入一个微妙的bug,当您重新使用新请求的连接时,不总是正确地清除状态,并且花费相当长的时间盯着日志记录/嗅探器数据; libcurl当然支持keepalive(我认为默认情况下是启用的)。 |
![]() |
Ian Newson · 协议缓冲区、C#和网络流:永远不会收到消息 2 年前 |
![]() |
Evantoki Alfa · 线程“main”java中出现异常。lang.ArrayIndexOutOfBoundsException:演示时为0。查找。main(Lookup.java:19) 2 年前 |
![]() |
ê¹ì¼í · 如何发送带有引号的关键数据的POST方法? 2 年前 |
![]() |
TiDu · 使用EKS设置出口网关的最简单方法,无需Istio 2 年前 |
![]() |
Nop · 无法关闭键盘中断(Python)上的套接字连接 2 年前 |