给所有学FTP的同学们(C语言)

        最近因为公司有一个两个业务模块需要使用到FTP上传和下载。因为公司主要使用Visual c++开发产品,所以自己去网上看了一下相关的文章。但是由于网上的文章自己感觉有些要点没有描述,所以自己也花了不少时间来理解整个流程。为了避免大家也碰到相同的问题而花费不必要的时间。特写这篇博文记录一下几个关键点。

  1. 关于FTP原理部分强烈推荐阅读IBM开发者论坛的文章------使用 Socket 通信实现 FTP 客户端程序。这篇文章对于如何使用C语言进行FTP编程的大部分内容已经阐述清楚了。但是很遗憾作者没有提供完整的代码。(本人实现了一份对应教程的C代码在文章最后提供给大家下载)
  2. 在接收FTP欢迎消息的时候需要注意的是响应消息可能有多行。根据FTP协议(RFC959)中第4部分关于FTP响应的描述:

    Thus the format for multi-line replies is that the first line will begin with the exact required reply code, followed immediately by a Hyphen, "-" (also known as Minus), followed by text.  The last line will begin with the same code, followed immediately by Space <SP>, optionally some text, and the Telnet end-of-line code.


    表明在多行响应的时候第一行在响应码(3位数字)后面紧跟字符"-",最后一行也必须以相同的响应码开始并且紧跟一个空格" "。如:
     For example:
          123-First line
          econd line
            234 A line beginning with numbers
          123 The last line

  3. 不管是下载还是上传文件,在完成后请关闭数据socket(控制连接会收到226),如果不关闭就退出程序可能会造成上传/下载的内容不完整。


     CSDN站内下载:   示例C语言代码  (Windows下MinGW编译和测试)
  


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值