如何用C编程FTP客户端?

时间:2012-12-07 12:00:20

标签: c ftp

我必须为想要将文件传输到服务器的客户端(协议RCFTP)编写代码。操作应该是:客户端发送请求以保存文件的一部分,如果您收到此文件没有错误,服务器将响应。如果是这样,客户端仍将发送文件的片段,直到您提交了所有文件而没有错误。如果传输错误,客户端必须发回该文件失败。

开始会有点帮助吗?

3 个答案:

答案 0 :(得分:11)

  1. 调查您是否可以使用任何预先存在的代码,例如库。
  2. 阅读sockets并尝试实施the FTP protocol
  3. 如果您有具体问题并可以显示一些代码,请回到这里。 :)

答案 1 :(得分:7)

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

为了帮助您开始,您需要了解以下几个步骤(当然,我不会描述所有内容,但它可能会对您有所帮助):

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

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

      离开会话

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

答案 2 :(得分:0)

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

我找到一个here