无需上传,直接发送大文件
最近核对
云传输服务要求你先上传整个文件,对方才能开始下载,而且很多服务把免费传输限制在几个 GB。当两台设备都在线时,直接发送既不用等待,也没有这个上限。
tosstome 如何处理大文件
- 不设大小限制。数据按块流式传输,并带有端到端的确认,所以发送方不会远远跑在接收方前面。
- 在 WebRTC 直连上,数据不会经过任何服务器,所以速度取决于两台设备之间的网络。
- 无法直连时,中继会在数据块到达时转发。它不会缓冲文件,之后也不会保留任何内容。
唯一需要留意的事:浏览器内存
在你按保存之前,浏览器无法向磁盘写入,所以接收端的标签页会把整个文件保存在内存里,直到那时为止。几个 GB 在大多数电脑上没问题,但在手机上,或者文件有几十 GB 时,可能就不行了。
对于大文件,请在电脑上用命令行收件箱接收。它会在数据到达时写入磁盘,所以不论文件多大,内存占用都保持平稳:
tosstome listen --dir ~/Videos/incoming
然后从任何浏览器通过收件箱链接发送,或者在另一个终端里用 tosstome send 发送。
传输超大文件的建议
- 让两台设备保持唤醒,并让发送端的标签页留在前台。手机会暂停后台标签页。
- 尽量使用同一个 Wi-Fi 或以太网。本地网络中的直连是最快的路径。
- 如果对方不能同时在线,点对点工具就不合适。请改用云盘或带存储链接的服务。
常见问题
文件大小有限制吗?
tosstome 没有设置大小限制。接收端的浏览器会把文件放在内存中,直到你保存,所以对于几个 GB 的文件,命令行收件箱是更好的接收方式,因为它会直接写入磁盘。
比上传到云盘更快吗?
通常是的,因为接收方在数据发送的同时就能收到,而不是等整个上传完成之后;在本地网络中,数据也不会离开这个网络。在互联网上,速度受限于两条连接中较慢的一条。
我的文件会被上传或存储在某处吗?
不会。网络条件允许时,文件通过 WebRTC 直接从一台设备传到另一台。条件不允许时,文件会经过 Cloudflare 上的中继,中继在数据到达时就转发,不会保留任何内容。如果接收方不在线,则不会发送任何内容。
接收方可以稍后再下载吗?
不可以。两台设备必须同时在线。这是不存储任何内容所要付出的代价。