我经常通过FTP连接进行网站开发。也就是说,我使用具有内置FTP窗口和推/拉文件的代码编辑器来处理它们,上传更改等。这主要是因为尝试创建本地开发服务器是不合理的,我使用太多的计算机无论如何都没有大量工作。
我的麻烦是,我们家的网络连接并不完全......稳定。它速度快且大部分都是可靠的,但它比我曾经使用的任何其他连接(它的无线DSL)更容易出现故障,因此,连接断开的频率太高。 (这与AT& T在这方面的电话呼叫一样可靠。)使用FTP时,我发现如果它丢弃了连接中间文件传输,则可能很难恢复。首先,当连接断开时,它会将空白文件保存到服务器(这有什么用?)打破了我正在完全工作的页面,并且锦上添花在时间上,vsftpd会在超时时陷入困境,我必须先SSH并重新启动它才能再次访问该文件。
这个过程本身只是有益的,因为它教会我在客户端建立一些数据保护技术,以防止服务器在丢弃的连接发生挂起或崩溃我的客户端时吃掉我最近的更改。总的来说,这是一个非常失败的情况,我很惊讶我完成了任何工作。
我知道很长很长的背景,但我的问题是:是否有一个文件传输协议,旨在处理像我这样的“flakey”连接?我想,例如,尝试通过3G系留连接传输文件会产生相同的结果,尤其是在旅行时。似乎FTP和SFTP都依赖于持久连接,并且可以处理丢弃的数据包,但不会通过重新连接丢失整个套接字。在我看来,文件传输守护程序应该能够存储与之交互的用户的状态,从而检测失败的传输,并准备好“恢复”,如果用户在合理的时间内重新连接。
如果有人知道的话,谢谢。我正在认真考虑尝试自己编写这样的协议(例如,我已经在我的页面编码ajax以处理错误连接方面取得了很大成功)但是如果已经有一个解决方案,我不想深入研究
答案 0 :(得分:0)
你想要rsync。如果连接断开,您只需重复该命令,它就会从中断处继续。内置错误检查和一切。通过SSH工作,Windows客户端存在。有人可能写了一个GUI前端。
答案 1 :(得分:0)
BitTorrent适用于flakey连接。我听说它也很快!