先前单位的wince手持程序,使用数据线连接电脑,下载远端oracle数据库,业务功能实现后,考虑到数据线以及接口反复插拔损坏会比较严重,提出做无线的,可是又不能提供一些电脑作为服务器,了解后发现手持默认有个ftp,只要在同一网段,使用ip地址就能访问手持的盘符。
于是就要电脑端的下载程序上,添加无线上传下载数据库到手持的功能。MFC实现了ftp的常规操作,我使用单例模式封装了一下,不足的是,上传下载不能获取进度
//文件WinInetFTP.h
#pragma once
#include "WinInet.h"
#include "afxinet.h"
class MyFtp
{
private:
MyFtp();
public:
static MyFtp * Instance();
~MyFtp();
BOOL Connect(void);//连接ftp
BOOL DisConnect(void);//断开连接
BOOL DownFile(const CString &pstrRemoteFile,const CString &pstrLocalFile);//从ftp下载文件
BOOL UpFile(const CString &pstrLocalFile, const CString& pstrRemoteFile);//上传单个文件到ftp
public:
CInternetSession* m_pInetSession; //会话对象
CFtpConnection* m_pFtpConnection; //连接对象
CString m_strPassword;//用户名
CString m_strServer;//ftp服务器Ip
CString m_strUserName;//密码
};
<