资源描述:
《北邮程序设计实践实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划北邮程序设计实践实验报告 程序设计实践 设 课题名称: 学生姓名: 班级: 班内序号: 学号: 日期:计报告邮件客户端2162 1.课题概述 课题目标和主要内容 本课题主要通过MFC的方式,利用SOCKET以及SMTP相关知识,来实现邮件的定向发送,借此来复习和巩固C++编程的基本思想;学习SOCKET以及SMTP的相关知识,了解复杂网络应用程序的设计方法,并独立完成一个网络应用。 系统的主要功能 1.邮件的发送 2.邮
2、件的发送 3.邮件接收 2.系统设计 系统总体框架目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 程序的功能由,,,,,,,,,,来实现。其中,,M,,来对MIME协议进行封装,来对Base64编码进行封装,是对SMTP协议进行封装,是利用MIME协议对邮件内容的一个处理,最终通过来实现邮件的发送的功能。 系统详细设计 [1]模块划分图及描述 协议模块:包
3、括网络应用程序中的各种协议,包括STMP协议,MIME协议等。处理模块:主要实现对数据的进行编码以及解码。 实现模块:主要内容为邮件发送的具体步骤,相关按钮操作。 [2]类关系图及描述 协议类:CSMTP,CTEXTPlai,CMIMECode,CMIMEContentAgent,CMIMEMessage,CAppOctetStream,CTextPlain.主要为协议中信息处理的中作用 编码类:Base64,MailMessage.主要为对邮件信息的处理 实现类:CAboutDlg,CMyEmailClientApp,CMyEmailClient
4、Dlg.主要为MFC的框架构建以及邮件发送的实现。 [3]程序流程图及描述目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 [4]存储结构、内存分配 主要使用字符串数组来进行存储,同时还是用套接字来进行消息传输。 关键算法分析 算法1:BOOLCSMTP::Connect() [1]通过SMTP协议内容的判断对服务器之间的连接状况的判断 [2]将SMTP的协
5、议工作原理进行细化,分为连接。2.客户端发送HELO命令。 3.客户端发送AUTHLOGIN命令。4.用户名与密码的验证。分别在每一个步骤后对服务器返回的消息进行分析,判断是否连接正常。 [3]由于没有其他参量,时间复杂度为O。空间复杂度为O。 [4]1判断套接字是否创建成功。2判断是否连接到服务器。3判断服务器是否响应。4发送HELO命令,同时判断服务器响应是否正确。5发送AUTHLOGIN命令,同时判断服务器响应是否正确。6发送经过Base64编码过后的用户名,同时判断服务器响应是否正确。7发送经过Base64编码过后的密码,同时判断服务器响应是否
6、正确。8一切正常,将变量m_bConnected=TRUE。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 算法2:BOOLCSMTP::transmit_message(CMailMessage*msg) [1]向服务器发送邮件 [2]根据SMTP发送邮件的工作原理,将其分为1.发送MAIL命令,告知服务器发件人的邮件地址。2.发送RCPT命令,告知服务器的接收
7、人的邮件地址。3.发送DATA命令。 4.发送邮件内容。5.发送结束符,结束此次发送。 [3]由于FOR循环中包含msg->GetNumRecipients(),所以时间复杂度为O。空间复杂度为O。 [4]1.判断是否连接服务器正常。2.发送MAIL指令及发件人信息,并判断服务器响应。3.发送RCPT指令及收件人信息,多个收件人必须多次发送,最后判断服务器响应。 4.发送DATA指令,并判断服务器响应。5.发送邮件内容。6.发送结束符,结束此次发送,并判断服务器响应。 算法3:BOOLCSMTP::get_response(UINTresponse
8、_expected) [1]根据服务器的响应来判断