1

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

会知道一点帮助开始吗?

4

3 回答 3

12
  1. 调查您是否可以使用任何预先存在的代码,例如库。
  2. 阅读套接字并尝试实现FTP 协议
  3. 当您有具体问题并可以显示一些代码时,请返回此处。:)
于 2012-12-07T12:02:14.330 回答
11

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

于 2012-12-07T12:49:20.407 回答
0

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

我在这里找到了一个

于 2012-12-07T12:05:08.743 回答