使用c++实现一个FTP客户端(二)】的更多相关文章

接上篇http://www.cnblogs.com/jzincnblogs/p/5213978.html,这篇主要记录编程方面的重点. 客户端使用了Windows Socket提供的API,支持上传.下载.删除.查看文件,断点续传,二进制/ASCII模式切换,被动模式切换,记录操作日志等功能. 代码包含的类如下: ①MySocket类,对SOCKET进行了简单的封装 //对winsock SOCKET的封装 class MySocket { public: MySocket(); //~MySo…
之前使用c++实现了一个FTP客户端,在这里做一些记录. 一.需要注意的几点 ①FTP是一种文件传输协议,基于TCP,所以客户端与服务器建立的连接是可靠.安全的,并且要经过三次握手的过程. ②FTP传输数据默认采用二进制模式,即将文件内容转换为二进制表示后再传送,而若HTML等文本文件传输时需要转换成ASCII模式. ③FTP客户端在连接服务器时需要用到两个端口,其中一个端口(默认为21)用作控制连接端口,负责发送命令和等待响应:另一个端口用作数据传输,用来建立数据传输通道,端口号为20或其他可…
接上篇:http://www.cnblogs.com/jzincnblogs/p/5217688.html,这篇主要记录编程过程中需要注意的地方以及遇到的一些问题及解决方法. 一.gethostbyname(),inet_ntoa()等函数已经过时 使用上面两个函数时编译器会报错并提示函数已经是过时的了(obsolete),应该用getaddrinfo()与InetNtop()代替,这两个函数都是协议无关的,同时支持IPv4和IPv6,下面是一个使用例子: string GetIPAddress…
一,项目题目:基于线程开发一个FTP服务器 二,项目要求: 基本要求: 1.用户加密认证   2.允许同时多用户登录   3.每个用户有自己的家目录 ,且只能访问自己的家目录   4.对用户进行磁盘配额,每个用户的可用空间不同   5.允许用户在ftp server上随意切换目录   6.允许用户查看当前目录下文件   7.允许上传和下载文件,保证文件一致性(md5)   8.文件传输过程中显示进度条   9.附加功能:支持文件的断点续传 扩展需求: 作业需求:   1.在之前开发的FTP基础上…
Socket网络编程--FTP客户端(1)(Windows) 已经好久没有写过博客进行分享了.具体原因,在以后说. 这几天在了解FTP协议,准备任务是写一个FTP客户端程序.直接上干货了. 0.了解FTP作用 就是一个提供一个文件的共享协议. 1.了解FTP协议 FTP有指令和响应码.FTP 控制帧即指 TELNET 交换信息,包含 TELNET 命令和选项.然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息. FTP 消息是对 FTP 命令的响应,它…
已经好久没有写过博客进行分享了.具体原因,在以后说. 这几天在了解FTP协议,准备任务是写一个FTP客户端程序.直接上干货了. 0.了解FTP作用 就是一个提供一个文件的共享协议. 1.了解FTP协议 FTP有指令和响应码.FTP 控制帧即指 TELNET 交换信息,包含 TELNET 命令和选项.然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息. FTP 消息是对 FTP 命令的响应,它由带有解释文本的应答代码构成. 像这种利用交换信息来进行简单的…
已经好久没有写过博客进行分享了.具体原因,在以后说. 这几天在了解FTP协议,准备任务是写一个FTP客户端程序.直接上干货了. 0.了解FTP作用 就是一个提供一个文件的共享协议. 1.了解FTP协议 FTP有指令和响应码.FTP 控制帧即指 TELNET 交换信息,包含 TELNET 命令和选项.然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息. FTP 消息是对 FTP 命令的响应,它由带有解释文本的应答代码构成. 像这种利用交换信息来进行简单的…
使用 ftplib 建立 FTP 客户端 用于建立FTP Client,与 pyftplib 建立的 Server 进行通信. 快速导航 1. 模块信息 2. 建立 FTP 客户端 1. 模块信息 1.1 常量 / Constants FTP_PORT = 21 标准的FTP协议服务端端口 1.2 类 / Class 1.2.1 FTP()类 ftp = FTP() 无需参数传入直接生成FTP的客户端实例 1.2.1.1 connect()方法 函数调用: ftp.connect(address…
edtftpj是一个java FTP工具包,使用非常方便,感觉比Apache的好用,但Apache更灵活.edtftpj有多种版本,分别是java..net和js版本.对于Java版的有一个免费版本.我用的就是免费版本.其余的均为商业版本. 为了开发,先下载免费版本的开发包. 主  页:http://www.enterprisedt.com/ 工具包:http://www.enterprisedt.com/products/edtftpj/download/edtftpj.zip 目前我用的是2…
一.程序说明 1.1 程序实现关键点 python实现ftp客户端,主要会遇到以下四个问题: 第一个问题是使用什么包实现----我们这里是使用标准库中的ftplib 第二个问题是怎么连接登录ftp服务器----如果是ssh那么直接使用connect函数就直接完成连接和登录两项工作,而ftp要先用connect连接然后再用login登录 第三个问题是怎么实现ftp操作----怎么实现ftp操作这个问题有点麻烦,我们平时使用ftp命令登录后就可以输入下图中的命令进行ftp操作,对于其中少数一些命令f…