如何用C编程FTP客户端?

use*_*332 1 c ftp

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

开始会有点帮助吗?

unw*_*ind 12

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


Joz*_*oze 9

首先,如果你想编写一个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客户端显然很容易.