如何用C编程FTP客户端?

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

开始会有点帮助吗?

  1. 调查您是否可以使用任何预先存在的代码,例如库。
  2. 阅读套接字并尝试实现FTP协议 。
  3. 当您有具体问题并可以显示一些代码时,请回到这里。 🙂

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

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

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

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

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

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

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

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

我在这里找到了一个