#ifndef FTPTOOLS_H_
#define FTPTOOLS_H_
#define BUFFER 1024 /* buffer max size */
#define PATH 128 /* path buffer max size */
#define MAXFILE 10 /* transfer file max size */
#define LOGPATH "log" /* log file path */
#define TMPPATH "tmp" /* temp file path */
#define ETCPATH "etc" /* configuration/task file path */
#include<string>
#include<stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <dirent.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
using namespace std;
typedef struct sockaddr_in SOCKINF;
typedef struct tm TIMEINF;
typedef struct dirent DIRINF;
typedef struct stat STAT;
class FTPTools
{
private:
string ftpServer;
int ftpPort;
string serverPath;
string localPath;
int errorno;
int SockID,
SockSer;
SOCKINF SockAddr;
/*
* 内部方法
*/
int RecvMessage(int Sock,char *Message,int Length,char *Check);
void SendCommand(int Sock,char *Command,int Length);
int SendToRemote(int Sock,char *SrcFilePath,char *SrcFileName,char *DesFilePath);
int GetFromRemote(int Sock,char *FileName);
int GetRemoteFileList(int Sock,char *FileList);
void DeleteAD(char *Str);
short GetPortFromBuffer(char *Buffer);
void SafeExit(int Code) ;
public:
/*
*构造函数
*@param pm_sFtpServer 服务器IP地址
*@param pm_iFtpPort 服务器端口号
*/
FTPTools(const string &pm_sFtpServer,int pm_iFtpPort);
/*
*登陆FTP服务器
*@param pm_sFtpUser Ftp帐号
*@param pm_sFtpPwd Ftp密码
*@return 0 成功 -1 失败
*
*/
int login(const string &pm_sFtpUser,const string &pm_sFtpPwd);
/*
*文件目录
*@param pm_sServerPath Ftp服务端目录
*@return 0 成功 returnCode 错误代码
*/
int cd(const string &pm_sServerPath);
/*
*设定本地路径
* @param pm_sLocalPath 本地路径
*/
void Lcd(const string &pm_sLocalPath);
/*
*上传文件
*@param pm_sSrcFileName 本地文件名
*@return 0 成功 returnCode 错误代码
*
*/
int upload(const string &pm_sSrcFileName);
/*
*下载文件
*@param pm_sServerFileName 下载文件名
*@return 0 成功 returnCode 错误代码
*
*/
int download(const string &pm_sServerFileName);
/*
*关闭连接
*/
void bye();
virtual ~FTPTools();
};
#endif /*FTPTOOLS_H_*/
Unix下的FTP客户端
5星 · 超过95%的资源 需积分: 50 112 浏览量
2006-05-15
09:32:14
上传
评论
收藏 0B RAR 举报
qingyuan18
- 粉丝: 197
- 资源: 6
最新资源
- 基于matlab实现图像处理,本程序使用背景差分法对来往车辆进行检测和跟踪.rar
- 基于matlab实现视频监控中车型识别代码,自己写的,希望和大家多多交流.rar
- sdk.config
- 基于matlab实现配电网三相潮流计算方法,对几种常用的配电网潮流计算方法进行了对比分析.rar
- 基于matlab实现配电网潮流 经典33节点 前推回代法潮流计算 回代电流 前推电压 带注释.rar
- 基于matlab实现模拟退火遗传算法的车辆调度问题研究,用MATLAB语言加以实现.rar
- 基于matlab实现蒙特卡洛的的移动传感器节点定位算法仿真代码.rar
- 华中数控系统818用户说明书
- 基于matlab实现卡尔曼滤波器完成多传感器数据融合 对多个机器人的不同传感器数据进行融合估计足球精确位置.rar
- 基于matlab实现进行简单车辆识别-车辆检测.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈