gpt4 book ai didi

java - 使用 URL 和 Sockets 下载的速度有什么区别?

转载 作者:行者123 更新时间:2023-11-30 04:06:01 24 4
gpt4 key购买 nike

我正在创建一个 Java 应用程序,它将自动将播客下载到某人的计算机上。我想知道是否应该与我的服务器建立 Socket 连接,或者只是使用 URL 类。

有谁知道通过 URL 与套接字连接下载之间的速度差异是多少。我知道 URL 对象部分构建在 Socket 对象之上,但我不确定运行时有什么区别。

最佳答案

使用现有的库支持。直接使用 Socket 执行此任务的唯一原因是连接到自定义协议(protocol)时(即不是没有合适实现的 HTTP)。现有的传输协议(protocol)如此之多 - 不要浪费时间为这种通用情况创建另一个协议(protocol)。

HttpURLConnection 最终是通过“讲”HTTP 的 TCP 套接字实现的。直接使用套接字需要编写代码来理解 HTTP——无论需要什么上下文。此代码即使比 HttpUrlConnection“更高效”地完成,也仅代表实际执行时间的一小部分,而实际执行时间将由其他因素主导。

相反,请考虑如何在更高级别上提高速度:

  • 同时下载多个远程资源
  • 在适用的情况下使用 HTTP 管道
  • 在适用的情况下启用 HTTP 压缩
  • 切换到专为多文件同步设计的不同协议(protocol)

关于java - 使用 URL 和 Sockets 下载的速度有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com