MFC下的FTP VC++
来源:互联网 发布:地域详细数据 编辑:程序博客网 时间:2024/06/08 15:48
最近用到了ftp,刚开始没接触过,百度了好大一阵子。弄明白了它就是一个文件传输协议,就像TCP/UDP一样,按照协议就可以对文件进行操作。但是它的服务端微软已经弄好了,只需要开启就好,客户端也给我们留了接口,就等我们自己调用了。
它也分局域网和外网,局域网就是我们在学校的机房里的时候,老师会让我们到服务器上去下载东西,只要在IE里输入 ftp://192.168.11.22之类的就可以转到操作的页面,我们只需要粘贴复制就OK了。
首先我们需要创建ftp服务器,把要共享的文件弄进去,win7下会有自带的,但需要我们自己去开启,百度下就会有一堆的图文教程。
后来发现了MFC下本来就专门定义了一些进行ftp操作的类,非常的方便,就几句话就可以实现对文件的各种操作,主要是CFtpConnection这个类,下面的这个链接是微软对它的说明http://technet.microsoft.com/zh-cn/library/2kywsafk.aspx,多看下这个就对他有一点了解了。下面是个小DEMO:
//首先在服务器端的FTP主目录下放一个Config.txt的文本文件,
CInternetSession session;
//连接FTP Server
CFtpConnection *TempFtp=session.GetFtpConnection("dbs","Administrator","123321");
//下载文件
TempFtp->GetFile("Config.txt","e:\\ee.txt",TRUE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_ASCII,1);
//处理文件
FILE *fp;
fp=fopen("e:\\ee.txt","a+");
fprintf(fp,"\nAdd Line\n");
fclose(fp);
//上传文件
TempFtp->PutFile("e:\\ee.txt","Config.txt",FTP_TRANSFER_TYPE_ASCII,1);
//关闭连接
TempFtp->Close();
session.Close();
我也是看着这个例子来尝试的,最终成功的实现链接并对文件进行相应的操作。
后来因为需要,需要连接外网的ftp,其实还是一样的,只是服务器开启的时候多几个步骤。这个也可以自己百度教程。 关键是今下午调试的时候发现程序老是卡掉,但如果只是进行简单的替换文件名字的操作还是可以的,如果要进行文件下载就会卡,现在还没有解决,正在想办法,难道是网速的问题。。。哪位兄弟知道解决方法了说话啊。。。。
呵呵 ,今天这个周日没白过来啊。终于知道不能对文件进行操作的原因了,原来如果只是在自己电脑上弄ftp的话是不会出现防火墙之类的事情的,连接外网时就出现这种东东了。其实我也没怎么弄明白呢,连接分被动连接和主动连接。但是我百度下,MFC下也没有说主动连接和被动连接的事情啊,但是在Linux下貌似有不少人说到了这个问题,看来自己太不认真了,最后看了下面这篇文章才知道。http://over140.blog.51cto.com/2543800/583031
后来又到微软官方上看了下才确定啊。
http://technet.microsoft.com/zh-cn/library/kzey6f41.aspx
不管怎么说,算是解决了这个问题,以后在慢慢的学习它,同时也会把知道的点滴写在这上面。。。
今天早上过来,由于ftp操作外网的文件速度比较慢,就放弃了。最后决定用dll。。。
- MFC下的FTP VC++
- Ftp Client source code, VC++6.0, MFC.
- Ftp Client source code, VC++6.0, MFC.
- 最简单的在VC中用MFC中FTP下载功能的实现
- VC++/MFC怎么实现局域网里下载FTP服务器上的文件?
- VC中MFC下的绘图初步解析
- VC中MFC下的绘图初步解析
- VC下的三种MFC动态库区别
- VC++平台下非MFC DLL的使用
- VC++下WIN窗体和MFC窗体的区别
- windows环境下定时任务的创建 MFC VC
- VC++下WIN窗体和MFC窗体的区别
- VC++6.0下基于MFC的串口通信助手实现
- vs2012环境下的VC++与MFC工程创建
- 基于MFC的FTP客户端
- FTP下的命令
- Linux下的 FTP
- VC下控制台/MFC删除文件方法
- small rtos1.20.3的一点小问题
- 读书笔记---鸟哥linux---第六章---linux的文件权限与目录配置
- 不同用户地图界面不同
- Cocos2d-x 实例源码分析之二 小实例的主框架
- 敏捷软件开发揭秘
- MFC下的FTP VC++
- Linux Epoll编程
- ubuntu修改默认启动级别
- Replica set简单部署
- ORACLE体系结构学习
- Android - AutoCompleteTextView
- Maven利用Archetype自动生成项目目录结构
- 【图论05】并查集 1005 More is better
- java.lang.IllegalArgumentException: Wrong FS ...异常的解决