Visual C++网络编程经典案例详解 第4章 FTP浏览器 创建客户端 定义CFtp类 DownFile函数

下载文件函数DownLoadFile()的实现方法与UpdataFile()函数一样,具体实现如下

void CFtp::DownLoadFile(CString filename)
//参数表示从列表中获取的文件名
{
	int lenth;//已经获取的文件大小
	int i=0;
	archive->WriteString("RETR "+"\r\n");
	//调用CArchive类的WriteString()函数发送RETR命令
	archive->WriteString(filename+"\r\n");
	//向服务器发送就要下载的文件名称
	char buff[1024]={0};//设置缓冲区
	SOCKET sock;//与服务器建立连接成功后返回的套接字句柄
	CFile file(filename,CFile::modeReadWrite);
	//建立文件并指定文件属性为可读可写
	while(length!=0)
	{
		::Recv(sock,buff,1024,NULL);//在套接字上接收数据到缓冲区
		file.Write(buff,1024);//将缓冲区内容写到文件中
		length=lenth-1024;
		//从文件总大小中减去已经接收并写入文件中的大小		
	}

}

CFtp封装了发送命令 接收数据
获取文件属性和上传下载文件等FTP主要操作
要调用时
将头文件和文件加入工程
创建类对象 对封装好的函数进行调用即可

猜你喜欢

转载自blog.csdn.net/eyetired/article/details/83651355
今日推荐