您好,欢迎访问三七文档
武汉大学计算机学院课程实验(设计)报告课程名称:计算机网络应用设计专业、班:计科1班姓名:学号:学期:2014年上学期1第一部分软件设计一、实验内容完成FTP客户端、POP3客户端两个系统程序,以及一个应用程序。客户端操作系统为WindowsXP。FTP程序要求具有图形化界面、上传、下载功能,鼓励实现断点续传功能,POP3程序具有邮件接收、阅读、删除等基本功能。FTP、POP3程序使用socket方式编程,从创建socket、建立TCP连接开始,实现FTP、SMTP、POP3协议的功能,不得调用第三方控件(可使用操作系统自身的API函数)。编程工具可以使用C#或VC++。应用程序要求实现一个网上书店的基本功能,要求具有前端(用户)和后端(管理)功能,基于Web运行方式。前端具有浏览书目、购物车等功能,后端具有管理书目、基本统计功能。编程工具可以是MS.NET(C#)或者J2EE二选一,数据库可以是SQLServer、DB2、Oracle、Mysql、PostgreSQL之一。二、实验步骤与实验结果1.FTP主要界面及结果2.FTP源程序FtpDlg.cpp#includestdafx.h#includeFtp.h#includeFtpDlg.h#includeAfxinet.h2#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CAboutDlgdialogusedforAppAboutclassCAboutDlg:publicCDialog{public:CAboutDlg();//DialogData//{{AFX_DATA(CAboutDlg)enum{IDD=IDD_ABOUTBOX};//}}AFX_DATA//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUAL(CAboutDlg)protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport//}}AFX_VIRTUAL//Implementationprotected://{{AFX_MSG(CAboutDlg)//}}AFX_MSGDECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){//{{AFX_DATA_INIT(CAboutDlg)//}}AFX_DATA_INIT}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)//}}AFX_DATA_MAP3}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)//{{AFX_MSG_MAP(CAboutDlg)//Nomessagehandlers//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CFtpDlgdialogCFtpDlg::CFtpDlg(CWnd*pParent/*=NULL*/):CDialog(CFtpDlg::IDD,pParent){//{{AFX_DATA_INIT(CFtpDlg)m_strFtp=_T();m_strName=_T();m_strPwd=_T();//}}AFX_DATA_INIT//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32m_hIcon=AfxGetApp()-LoadIcon(IDR_MAINFRAME);}voidCFtpDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CFtpDlg)DDX_Control(pDX,IDC_UPLOAD,m_btnUpload);DDX_Control(pDX,IDC_DOWNLOAD,m_btnDownload);DDX_Control(pDX,IDOK,m_btnQuery);DDX_Control(pDX,IDC_LIST_FILE,m_listFile);DDX_Control(pDX,IDC_EDIT_PWD,m_editPwd);DDX_Control(pDX,IDC_EDIT_NAME,m_editName);DDX_Control(pDX,IDC_EDIT_FTP,m_editFtp);DDX_Control(pDX,IDC_STATIC_PWD,m_staPwd);DDX_Control(pDX,IDC_STATIC_NAME,m_staName);DDX_Control(pDX,IDC_STATIC_FTP,m_staFtp);DDX_Text(pDX,IDC_EDIT_FTP,m_strFtp);DDX_Text(pDX,IDC_EDIT_NAME,m_strName);DDX_Text(pDX,IDC_EDIT_PWD,m_strPwd);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CFtpDlg,CDialog)4//{{AFX_MSG_MAP(CFtpDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDOK,OnQuery)ON_BN_CLICKED(IDC_DOWNLOAD,OnDownload)ON_BN_CLICKED(IDC_UPLOAD,OnUpload)ON_LBN_SELCHANGE(IDC_LIST_FILE,OnSelchangeListFile)//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CFtpDlgmessagehandlersBOOLCFtpDlg::OnInitDialog(){CDialog::OnInitDialog();//AddAbout...menuitemtosystemmenu.//IDM_ABOUTBOXmustbeinthesystemcommandrange.ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX0xF000);CMenu*pSysMenu=GetSystemMenu(FALSE);if(pSysMenu!=NULL){CStringstrAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if(!strAboutMenu.IsEmpty()){pSysMenu-AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);}}//Settheiconforthisdialog.Theframeworkdoesthisautomatically//whentheapplication'smainwindowisnotadialogSetIcon(m_hIcon,TRUE);//SetbigiconSetIcon(m_hIcon,FALSE);//Setsmallicon//TODO:Addextrainitializationherem_strFtp=_T();//初始化服务器域名m_strName=_T();//初始化登录用户名5m_strPwd=_T();//初始化登录口令UpdateData(FALSE);//更新界面returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}voidCFtpDlg::OnSysCommand(UINTnID,LPARAMlParam){if((nID&0xFFF0)==IDM_ABOUTBOX){CAboutDlgdlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID,lParam);}}//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,//thisisautomaticallydoneforyoubytheframework.voidCFtpDlg::OnPaint(){if(IsIconic()){CPaintDCdc(this);//devicecontextforpaintingSendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);//CentericoninclientrectangleintcxIcon=GetSystemMetrics(SM_CXICON);intcyIcon=GetSystemMetrics(SM_CYICON);CRectrect;GetClientRect(&rect);intx=(rect.Width()-cxIcon+1)/2;inty=(rect.Height()-cyIcon+1)/2;//Drawtheicondc.DrawIcon(x,y,m_hIcon);}else{6CDialog::OnPaint();}}//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags//theminimizedwindow.HCURSORCFtpDlg::OnQueryDragIcon(){return(HCURSOR)m_hIcon;}//当用户点击'查询'按钮,执行此函数。voidCFtpDlg::OnQuery(){CInternetSession*pSession;//定义会话对象指针变量CFtpConnection*pConnection;//定义连接对象指针变量CFtpFileFind*pFileFind;//定义文件查询对象指针变量CStringstrFileName;BOOLbContinue;pConnection=NULL;//初始化pFileFind=NULL;UpdateData(TRUE);//获得用户的当前输入(服务器名,用户名和口令)while(m_listFile.GetCount()!=0)m_listFile.DeleteString(0);//清除列表框的内容pSession=newCInternetSession(//创建Internet会话类对象AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS);try{//试图建立与指定FTP服务器的连接pConnection=pSession-GetFtpConnection(m_strFtp,m_strName,m_strPwd);}catc
本文标题:计算机网络应用设计
链接地址:https://www.777doc.com/doc-6638797 .html