当前位置: 首页 > 面试题库 >

在golang中传输大文件

邵阳辉
2023-03-14
问题内容

客户端向从服务器发送文件的大小可能大于5G,而不是从服务器发送到主服务器的大小。

从站将临时文件保存到自己吗?我不希望发生这种情况,因为这会降低上载速度并浪费从站的内存。

有什么办法可以避免这种情况?在golang中传输大文件的最佳方法是什么?


问题答案:

是的,有以避免存储-转发方式的标准方式:只要客户端连接从服务器后应该打开到主服务器的连接,然后就
从客户那里的数据。通常,这是使用io.Copy()函数完成的。归功于Go使用界面出色的鸭子输入,它适用于TCP连接和HTTP请求/响应。

(要获得更好的解释,您必须缩小问题范围。)



 类似资料:
  • 问题内容: 我正在构建需要扩展的Java服务器。Servlet之一将提供存储在Amazon S3中的图像。 最近,在负载下,我的VM内存不足,这是在我添加了为图像提供服务的代码之后,因此,我很确定流较大的servlet响应会引起我的麻烦。 我的问题是:从数据库或其他云存储中读取时,如何编写Java Servlet来将大型(> 200k)响应流回浏览器,是否有最佳实践? 我考虑过将文件写入本地临时驱

  • 问题内容: 我正在构建需要扩展的Java服务器。Servlet之一将提供存储在Amazon S3中的图像。 最近在负载下,我的VM内存不足,这是在添加代码以提供图像服务之后,因此,我很确定流较大的servlet响应会引起麻烦。 我的问题是:从数据库或其他云存储读取数据时,如何编写Java Servlet以便将大型(> 200k)响应流回浏览器,是否有最佳实践? 我考虑过将文件写入本地临时驱动器,然

  • 本文向大家介绍python:socket传输大文件示例,包括了python:socket传输大文件示例的使用技巧和注意事项,需要的朋友参考一下 文件可以传输,但是对比传输前后的文件:socket_test.txt,末尾有一些不一致服务端代码: 客户端代码:  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题 如何流传输大文件? 方案 要流传输大文件,需要添加传输译码(Transfer-Encoding)区块头,这样才能一边下载一边显示。否则,浏览器将缓冲所有数据直到下载完毕才显示。 如果这样写:直接修改基础字符串(例中就是j),然后用 yield 返回--是没有效果的。如果要使用 yield,就要向对所有内容使用 yield。因为这个函式此时是一个生成器。(注:具体细节请查看 yield 文档,

  • 问题内容: 我已经做了很多研究,找到了.NET的上载组件,可以用来上载大文件,具有进度条并可以继续上载大文件。我遇到了一些组件,例如AjaxUploader,SlickUpload和PowUpload,仅举几例。这些选项中的每一个都需要花钱,只有PowUpload可以执行断点续传,但是它使用Java applet来完成。我愿意为一个能够很好地完成这些工作的组件付费,但是如果我自己编写,那将是最好的

  • 问题内容: 当我使用套接字编程传输大文件时,收到的文件不完整,即它是一个mp3文件,当我播放时听起来很奇怪。代码是: 服务器端: 客户端: 在客户端,我只是为了简化而使用(我可以从服务器端发送文件的长度)。 如果客户端和服务器是同一台机器,则此代码可以完美地工作,但是如果它们位于不同的机器上,则文件会失真。 问题答案: 在Java中复制流的规范方法: 适用于大于零的任何缓冲区大小。应避免避免将缓冲