网络编程实验3.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络编程实验3

MFC FTP 多线程网络编程实验 实验目的 掌握多线程技术,利用MFC WININET类实现对FTP服务器的各种操作。包括:连接服务器、查询文件、上传文件、下载文件等等,可以选择其中几个功能实现。 实验步骤 1、创建一个MFC工程 工程名称为FTP; 2、界面设计 界面运行效果如图: 其中3个编辑框(EditBox),4个按钮(Button),一个列表框(ListBox),这些控件的属性设置如下: 控件类型 控件ID Caption(标题) 说明 EditBox IDC_EDIT_FTP 输入服务器IP地址 EditBox IDC_EDIT_NAME 输入登陆FTP服务器的帐户 EditBox IDC_EDIT_PWD 输入登陆帐户密码 Button IDOK 查询 Button IDC_DOWNLOAD 下载 Button IDC_UPLOAD 上传 Button IDCANCLE 取消 ListBox IDC_LIST_FILE 显示服务器当前目录的所有文件 3、为控件对象定义相应的成员变量 利用类向导实现,设置如下: 控件ID 变量名称 变量类别 变量类型 IDC_EDIT_IP m_strFtp value CString IDC_EDIT_NAME m_strName value CString IDC_EDIT_Pwd m_strPwd value CString IDC_LIST_FILE m_listFile Control CListBox 4、引入头文件 在FTPDlg.cpp 中引入#include Afxinet.h 5、为工程添加头文件mt.h: 在文件视图图(File View)中添加; 文件中的代码见附录1 6、处理按钮事件 (1)“查询”的按钮 //当用户点击查询按钮,执行此函数。 void CFtpDlg::OnQuery() { UpdateData(TRUE); FTP_INFO*PP=new FTP_INFO; PP-pList=m_listFile; PP-strFtpSite=m_strFtp; PP-strName=m_strName; PP-strPwd=m_strPwd; //清除对话框中列表框的内容 while(m_listFile.GetCount()!=0)m_listFile.DeleteString(0); //创建并启动新线程,执行实际的查询任务 AfxBeginThread(mtQuery,PP); } (2)“下载”的按钮 //当用户点击下载按钮时,执行此函数 void CFtpDlg::OnDownload() { UpdateData(TRUE);//构造用于线程控制函数参数传递的结构对象 FTP_INFO *PP = new FTP_INFO;//将用户输入的相关信息赋值到结构对象的成员变量中 PP-pList = m_listFile; PP-strFtpSite=m_strFtp; PP-strName = m_strName; PP-strPwd = m_strPwd; //创建并启动新的线程,完成实际的下载任务 AfxBeginThread(mtDownloadFile,PP); } (3)“上传”的按钮 //当用户点击上传按钮时,执行此函数 void CFtpDlg::OnUpload() { UpdateData(TRUE); //将对话框中用于输入的文本框控件禁用 m_editFtp.EnableWindow(FALSE);//服务器域名输入文本框 m_editName.EnableWindow(FALSE);//登陆客户名输入文本框 m_editPwd.EnableWindow(FALSE);//口令输入文本框 m_staFtp.EnableWindow(FALSE);//响应的静态文本 m_staName.EnableWindow(FALSE); m_staPwd.EnableWindow(FALSE); //禁用对话框中查询按钮 m_btnQuery.EnableWindow(FALSE); //构造用于线程控制函数参数传递的结构对象 FTP

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档