我正在寻找创建一个Java应用程序,它将自动将播客下载到某人的计算机上。我想知道我是否应该与我的服务器建立Socket连接或只是使用URL类。
有没有人知道通过URL下载与套接字连接之间的速度差异。我知道URL对象部分构建在Socket对象之上,但我不确定运行时间的差异是什么。
答案 0 :(得分:2)
使用现有的库支持。直接使用Socket执行此任务的唯一原因是连接到自定义协议(即不 HTTP,没有合适的实现)。有这么多现有的传输协议 - 不要浪费时间为这种通用案例创建另一个传输协议。
HttpURLConnection最终使用“说”HTTP的TCP套接字实现。直接使用套接字需要编写代码来理解HTTP - 无论需要什么上下文。这段代码,即使比HttpUrlConnection“更有效”地完成,也只代表实际执行时间的小分数,这将由其他因素支配。
相反,请考虑如何在更高级别提高速度: