如何用C编程FTP客户端?
我必须为想要将文件传输到服务器的客户端(协议RCFTP)编写代码。 操作应该是:客户端发送请求以保存文件的一部分,如果您收到此文件没有错误,服务器将响应。 如果是这样,客户端仍将发送文件的片段,直到您提交所有文件没有错误。 如果传输错误,客户端必须发回该文件失败。
开始会有点帮助吗?
- 调查您是否可以使用任何预先存在的代码,例如库。
- 阅读套接字并尝试实现FTP协议 。
- 当您有具体问题并可以显示一些代码时,请回到这里。 🙂
首先,如果你想编写一个ftp客户端,请仔细阅读: RFC959 。
为了帮助您开始,您需要知道以下几个步骤(当然,我不会描述所有内容,但它可能对您有所帮助):
- 将您的sockets(控制sockets)连接到端口21上的ftp服务器。
- 您将在套接字上收到来自ftp服务器的消息(代码:220)。
- 然后使用USER命令将登录名发送到ftp服务器并等待确认(331)
- 然后使用命令PASS发送密码,并等待确认您已登录服务器(230)。
- 现在你可以在ftp上做一些操作了。
要发送文件,您必须使用被动模式:
- 发送命令PASV,您将得到一个给您IP地址和端口的答案(227),您将不得不解析此消息。
- 使用给定配置连接第二个插槽(数据套接字)。
- 在控制套接字上使用命令STOR(定义要在服务器上创建的文件)
- 通过数据套接字发送数据,完成后关闭数据套接字。
然后在控制套接字上使用命令QUIT离开会话。
如果您习惯于“套接字概念”,那么编写简单的ftp客户端显然很容易。
使用您最喜欢的互联网搜索引擎搜索套接字教程。
我在这里找到了一个