【问题标题】:How to program an FTP client in C? [closed]如何用 C 编写一个 FTP 客户端? [关闭]
【发布时间】:2012-12-07 12:00:19
【问题描述】:

我必须为想要将文件传输到服务器的客户端编写代码,即协议 RCFTP。操作应该是:客户端发送请求保存文件的一部分,如果您收到此文件并且没有错误,服务器将响应。如果是这样,客户端仍然会发送文件的各个部分,直到您无误地提交所有文件。如果传输错误,客户端必须将失败的文件发回。

想知道一点帮助吗?

【问题讨论】:

  • FTP没有实现错误检查;它在 TCP 中。您不必在应用程序级别重建它。 RFC 也指出:“没有规定检测数据传输中丢失或加扰的位;此级别的错误控制由 TCP 处理。”

标签: c ftp


【解决方案1】:
  1. 调查您是否可以使用任何预先存在的代码,例如库。
  2. 阅读sockets 并尝试实现the FTP protocol
  3. 如果您有具体问题并可以显示一些代码,请返回此处。 :)

【讨论】:

    【解决方案2】:

    首先,如果你想编写一个 ftp 客户端,请仔细阅读:RFC959

    为了帮助你一开始,这里有几个你需要知道的步骤(当然,我不会描述一切,但它可能会对你有所帮助):

    1. 在端口 21 上将您的套接字(控制套接字)连接到您的 ftp 服务器。
    2. 您将在您的套接字上收到来自 ftp 服务器的消息(代码:220)。
    3. 然后您使用命令 USER 将您的登录信息发送到 ftp 服务器并等待确认 (331)
    4. 然后使用命令 PASS 发送您的密码并等待确认您已登录服务器 (230)。
    5. 现在您可以对 ftp 进行一些操作了。

    要发送文件,您必须使用被动模式:

    1. 发送命令 PASV,你会得到一个答案,给你一个 IP 地址和一个端口 (227),你必须解析这个消息。
    2. 使用给定的配置连接第二个套接字(数据套接字)。
    3. 在控制套接字上使用命令 STOR(定义要在服务器上创建的文件)
    4. 通过数据套接字发送数据,完成后关闭数据套接字。

    然后在控制套接字上使用命令 QUIT 离开您的会话。

    如果您习惯了“套接字概念”,编写一个简单的 ftp 客户端显然很容易。

    【讨论】:

      【解决方案3】:

      使用您最喜欢的互联网搜索引擎搜索套接字教程。

      我找到了一个here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-01
        • 2023-03-07
        • 2011-07-28
        • 1970-01-01
        • 2011-01-11
        • 2015-08-14
        • 2016-09-26
        • 1970-01-01
        相关资源
        最近更新 更多