【问题标题】:Getting specific chunk of data from file on FTP server从 FTP 服务器上的文件中获取特定的数据块
【发布时间】:2015-03-16 17:34:13
【问题描述】:

我正在用 C 语言编写 FTP 客户端。我没有对服务器程序进行任何更改。
我想从服务器上的文件中获取特定数量的数据。
假设我在服务器上有一个文件,我想从文件中读取最后 100 个字节。我不想阅读整个文件。

我可以使用 RETR 文件名,但我没有找到任何读取特定字节数的方法。

对于标准的 FTP 服务器有什么方法可以做到这一点吗?

【问题讨论】:

    标签: c ftp ftp-client


    【解决方案1】:

    对于标准的 FTP 服务器有什么方法可以做到这一点吗?

    没有。你可以用REST(重启)命令告诉服务器它应该从哪里开始,但是你不能告诉它它应该发送多少数据。您所能做的就是在收到所需的数据量后关闭数据通道。 FTP 服务器可能会抱怨这一点,因为它收到了一个 RST(针对关闭的套接字写入),但在大多数情况下这不会导致问题。

    【讨论】:

    • 感谢您的回复。我将对 REST 进行一些研究。我正在尝试编写一个多线程客户端。这是正确的做法吗??
    • 你的意思是多线程客户端,每个线程获得不同的块?我认为这仅对非常大的文件有意义,因为每个线程都有完整客户端的开销(例如连接设置、登录、创建数据通道......)。此外,许多服务器限制来自同一 IP 地址的连接数。
    • 是的,是的 :) 我明白这一点。我只是为了学习目的而实施它。感谢您的帮助。
    • 有proposal for RANG command,以防万一服务器支持它作为实验性功能。
    猜你喜欢
    • 2021-06-30
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多