📄 rfc959.h
字号:
/**************************************************************** ** 文件名: RFC959.h ** 建立日期: 2002年7月24日 ** 作者: 何林强 ** 描述: ***************************************************************/#ifndef RFC959_FTP#define RFC959_FTP /**************************************************** ** 结构名: Shftp_Connect_data ** 建立日期: 2002年7月24日 ** 作者: 何林强 ** 描述: 这个结构中包含了一个独立的ftp连接 ** 所需要的全部数据. ****************************************************/struct Shftp_Connect_data{ FILE *sockfd_read, //绑定于命令连接上用于读命令. *sockfd_write, //绑定于命令连接上用于写命令. *datafd; //绑定于数据连接. hftp_transfer_type transfer_type; //数据连接的连接方式. int data_type; //传输方式. char directory[200]; //当前工作目录. char last_ftp_response[90]; //上一个服务器回复指令. char host_name[50]; //服务器IP. int host_port; //服务器端口. char user_name[50]; //用户名. char passwd[30]; //用户密码.}; /************************************************* ** 类名: CRFC959 ** 建立日期:2002年7月24日 ** 作者: 何林强 ** 描述: 这里包含了整个ftp协议. ** 修改日期:2002年8月2日 ** 修改备注:该类原来包含了ftp协议及界面的相关的操作 ** 部分,由于操作跟数据与协议没有完全分离, ** 使后续的设计出现了困难,修改主要将界面相关 ** 操作部分移往Chftp_transfer类,这里留下的完 ** 全是rfc959描述的ftp协议. *************************************************/class CRFC959{ private: Chftp_Filelist *Remote_Filelist; Shftp_Connect_data *Connect_data; //一条连接中用到的所有数据. gint passwdtag; //faint,开始打补丁了啊,发出密码时,服务器可能发出登陆信息,以此标志. public: gint downnow; //补丁,faint,不明白一个变量为什么自己会从零变到1,加补丁. Chftp_login_dialog *login_dialog; //登陆时出现的欢迎信息框. private: gint rfc959_Connect_Server(); gint rfc959_send_command(const char *command); gint rfc959_chdir(); gint rfc959_read_response(); gint write_to_socket(const char *command); void hftp_Init_Data(Chftp_Toolbar *hftp_Toolbar); gint rfc959_accept_active_connection(); gint rfc959_data_connection_new(); gint rfc959_list_files(); gint rfc959_read_files(); gint rfc959_get_file_size(const char *filename); gint rfc959_mkdir(const char *directory); gint rfc959_rename(const char *oldname,const char *newname); gint rfc959_rmdir(const char *directory); gint rfc959_rmfile(const char *file); public: gint idle_function(); public: CRFC959(Chftp_Filelist *Filelist,Chftp_Toolbar *hftp_Toolbar); gint rfc959_Connect(); void rfc959_disconnect(); ~CRFC959(); friend class Chftp_transfer; friend class Chftp_Remote_menu_1; friend class Chftp_Remote_menu_2;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -