欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机网络应用设计实验报告.docx

    • 资源ID:891385       资源大小:25.12KB        全文页数:47页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机网络应用设计实验报告.docx

    1、计算机网络应用设计实验报告武汉大学计算机学院课程实验(设计)报告 课程名称: 计算机网络应用设计专业、班: 姓 名: 学 号: 学 期: 2010年上学期 第二部分 软件设计一、实验内容完成FTP客户端、POP3客户端两个系统程序,以及一个应用程序。客户端操作系统为Windows XP。FTP程序要求具有图形化界面、上传、下载功能,鼓励实现断点续传功能,POP3程序具有邮件接收、阅读、删除等基本功能。FTP、POP3程序使用socket方式编程,从创建socket、建立TCP连接开始,实现FTP、SMTP、POP3协议的功能,不得调用第三方控件(可使用操作系统自身的API函数)。编程工具可以使

    2、用C#或VC+。应用程序要求实现一个网上书店的基本功能,要求具有前端(用户)和后端(管理)功能,基于Web运行方式。前端具有浏览书目、购物车等功能,后端具有管理书目、基本统计功能。编程工具可以是MS .NET(C#)或者J2EE 二选一,数据库可以是SQL Server、DB2、Oracle、Mysql、PostgreSQL之一。二、实验步骤与实验结果1. FTP源程序说明:本程序使用VC+编写,开发环境为VS2008/*/ 连接FTP 服务器*/void Cmfcftp3Dlg:OnBnClickedButton1() m_pInetSession=new CInternetSession(

    3、AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS); UpdateData(TRUE); try /根据给出的参数连接到FTP服务器 m_pFtpConnection=m_pInetSession-GetFtpConnection(m_host,m_username,m_password,m_port); if (m_pFtpConnection != NULL) CString m_i; m_i=连接成功rn; m_ftpinfo +=m_i; UpdateData(FALSE); List(); catch (CInternetException *

    4、 pEx) CString m_i; m_i=连接no成功rn; m_ftpinfo +=m_i; UpdateData(FALSE); TCHAR szError1024; if ( pEx-GetErrorMessage(szError,1024) m_i=(CString) szError; m_ftpinfo +=m_i; UpdateData(FALSE); else AfxMessageBox(There was an exception); pEx-Delete(); m_pFtpConnection=NULL; /*/ 列出FTP服务器上的所有文件*/void Cmfcftp3

    5、Dlg:List() CString m_i; CString m_ii; CStringArray m_Dir; CFtpFileFind finder(m_pFtpConnection); BOOL bWorking=finder.FindFile(_T(*); while (bWorking) bWorking = finder.FindNextFile(); if ( finder.IsDots() ) continue; if (finder.IsDirectory() / 如果是目录。 m_Dir.Add( finder.GetFileName(); else m_i=finder

    6、.GetFileName()+rn; for (int j=0;jn;j+) m_ii=t; m_ftpinfo=m_ftpinfo+m_ii; m_ftpinfo +=m_i; UpdateData(FALSE); finder.Close(); for(int i=0;im_Dir.GetSize();i+) n+; m_i=+m_Dir.GetAt(i)+rn; for (int j=1;jSetCurrentDirectory(m_Dir.GetAt(i); List(); BOOL m_suc1=0; while(!m_suc1) m_suc1= m_pFtpConnection-S

    7、etCurrentDirectory(.); n-; 2. POP3源程序说明:本程序是使用VC+编写,开发环境为VS2008,这里只贴了与实现相关的代码,界面部分的代码不在此描述了。MyPop3App.cpp 文件:BOOL CMyPop3App:InitInstance() INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); / 将它设置为包括所有要在应用程序中使用的 / 公共控件类。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&

    8、InitCtrls); CWinApp:InitInstance(); AfxEnableControlContainer(); SetRegistryKey(_T(应用程序向导生成的本地应用程序); WORD wVersionRequested; wVersionRequested = MAKEWORD(1, 1); int err = WSAStartup(wVersionRequested, &wsaData); /The Windows Sockets WSAStartup function initiates use of Ws2_32.dll by a process if (er

    9、r != 0) return FALSE; if (LOBYTE(wsaData.wVersion) != 1 | HIBYTE(wsaData.wVersion) != 1) return FALSE; CMyPop3Dlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse = IDOK) / TODO: 在此放置处理何时用 / “确定”来关闭对话框的代码 else if (nResponse = IDCANCEL) / TODO: 在此放置处理何时用 / “取消”来关闭对话框的代码 / 由于对话

    10、框已关闭,所以将返回FALSE 以便退出应用程序, / 而不是启动应用程序的消息泵。 return FALSE;int CMyPop3App:ExitInstance() / TODO: 在此添加专用代码和/或调用基类 WSACleanup(); return CWinApp:ExitInstance();/*/ 自定义的通过套接字发送数据函数*/int CMyPop3Dlg:Send(SOCKET& sock, TCHAR const * buf, int len, int flag) int bytes(0), count(0); while ( count len - 2 ) retur

    11、n offset; rs = recv(m_sock, buf + offset, len - offset, flags); if ( rs 0 ) /* error occur */ return -1; offset += rs; bufoffset = 0; while ( strstr(buf, rn.rn) = (char*)NULL ); return offset;/*/ 从服务器对LIST 命令的返回信息中,获取邮件总数*/int CMyPop3Dlg:getMailSum(TCHAR* responseToLIST) int sum = 0; TCHAR* p = strs

    12、tr(responseToLIST, rn); if ( p = NULL ) return sum; p = strstr(p + 2, rn); if ( p = NULL ) return sum; while ( (p = strstr(p + 2, rn) != NULL ) sum+; return sum;/*/ 从服务器返回的邮件内容中抽取邮件标题*/bool CMyPop3Dlg:GetSubject(TCHAR* subject, TCHAR const * buf) TCHAR const * p = strstr(buf, Subject: ); if ( p = NU

    13、LL ) return false; p = p + 9; for (int i = 0; i EnableWindow(TRUE); GetDlgItem(IDC_BUTTON2)-EnableWindow(FALSE); closesocket(m_sock); return 0;/*/ 点击登录按钮*/void CMyPop3Dlg:OnLogin() / TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); if (m_serverAddr.IsEmpty() SetDlgItemText(IDC_STATIC_ERRORINFO, _T(请填写Pop3 服务器

    14、地址); return; else if (m_portNo.IsEmpty() SetDlgItemText(IDC_STATIC_ERRORINFO, _T(请填写端口号); return; else if (m_userName.IsEmpty() SetDlgItemText(IDC_STATIC_ERRORINFO, _T(请填写您的用户名); return; else if (m_passwd.IsEmpty() SetDlgItemText(IDC_STATIC_ERRORINFO, _T(请填写您的邮箱密码); return; GetDlgItem(IDC_BUTTON1)-E

    15、nableWindow(FALSE); GetDlgItem(IDC_BUTTON2)-EnableWindow(TRUE); AfxBeginThread(connToServerThread, this); return;/*/ 点击注销按钮*/void CMyPop3Dlg:OnLogoff() / TODO: 在此添加控件通知处理程序代码 TCHAR sendbuf10, recvbuf128; memset(recvbuf, 0, sizeof(recvbuf); strcpy(sendbuf, QUIT rn); / 发送QUIT 消息,结束本次会话。 send(m_sock, s

    16、endbuf, strlen(sendbuf), 0); int rt = recv(m_sock, recvbuf, sizeof(recvbuf), 0); / 显示服务器返回的信息。 m_CmdInfo += rnResponse to Quit: ; m_CmdInfo += recvbuf; SetDlgItemText(IDC_EDIT6, m_CmdInfo); if (rt m_sock = socket(AF_INET, SOCK_STREAM, 0); / 创建流式套接字。 / 获取pop3 服务器的IP地址。 struct hostent * p; if (p = get

    17、hostbyname(pthis-m_serverAddr) =NULL) pthis-loginFail(); return 1; TCHAR serverIP100; sprintf(serverIP, %u.%u.%u.%u, (unsigned char)p-h_addr_list00, (unsigned char)p-h_addr_list01, (unsigned char)p-h_addr_list02, (unsigned char)p-h_addr_list03); / 创建一个SOCKADDR_IN SOCKADDR_IN sockaddr; sockaddr.sin_f

    18、amily = AF_INET; sockaddr.sin_port = htons(atoi(LPCSTR)(LPCTSTR)pthis-m_portNo); sockaddr.sin_addr.S_un.S_addr = inet_addr(serverIP); / 连接到服务器 if (0 != connect(pthis-m_sock, (SOCKADDR*)&sockaddr, sizeof(SOCKADDR) pthis-SetDlgItemText(IDC_STATIC_ERRORINFO, _T(连接服务器失败。输入是否有误?); pthis-loginFail(); retu

    19、rn 1; / 检查服务器返回的信息。 TCHAR buf128; memset(buf, 0, sizeof(buf); int returnval(0); returnval = recv(pthis-m_sock, buf, sizeof(buf), 0); if (returnvalSetDlgItemText(IDC_STATIC_ERRORINFO, _T(连接服务器失败。); pthis-loginFail(); return 1; / 保存服务器传回来的信息。 pthis-m_CmdInfo += rnResponse to Conn: ; pthis-m_CmdInfo += buf; pthis-SendMessage(WM_CONNSERVER_SUCX, 0, 0);/*/ 连接服务器成功的消息响应函数*/LRESULT CMyPop3Dlg:login(WPARAM wParam, LPARAM lParam)


    注意事项

    本文(计算机网络应用设计实验报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开