好文档 - 专业文书写作范文服务资料分享网站

课程实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

课 程 实 验 报 告 课程名称: 专业班级:计算机科学与技术1003班 学 号: 姓 名: 鲁辰 指导教师: 报告日期: 计算机科学与技术学院 目 录 1实验二 Socket 编 程(E-Mail) 实验目的 了解应用层和运输层的作用及相关协议的工作原理和机制。 掌握SOCKET 编程的基本方法。 实验要求 必须基于Socket 编程,不能直接借用任何现成的组件。 提交实验设计报告和源代码;实验设计报告必须包括程序流程,源代码必须加详细注释。 基于自己的实验设计报告,通过实验课的上机试验,在TurboC (或者Visual C++ 或者Java)编程环境下将源代码 编译成功,运行演示给实验指导教师检查。 实验内容 题目二: 编写邮件客户端,要求如下: 第一级: 实现一个基本的文本编辑器,能支持邮件的撰写和保存为草稿。 支持目录结构,能对邮件进行分类,并提供基本的收件箱、发件箱、草稿箱、垃圾箱等文件夹。 支持邮件帐号的配置与存储。 具备完成所需功能的基本图形用户界面(GUI),并具友好性。 第二级: 支持将邮件服务器上的邮件完全下载到本地并显示。 支持邮件下载时选择帐号管理器中的邮件服务器。 支持接收进度指示和接收完成指示。 具备完成所需功能的基本图形用户界面(GUI),并具友好性。 第三级: 支持邮件下载仅下载邮件头,并能根据需要实时下载邮件全部内容。 支持服务器上邮件下载完成后对邮件是否删除的操作。 具备完成所需功能的基本图形用户界面(GUI),并具友好性。 第四级: 支持普通文本邮件的发送。 可选择发送用帐号并可编辑发送用帐号。 支持发送进度指示和发送完成指示。 具备完成所需功能的基本图形用户界面(GUI),并具友好性。 第五级: 支持HTML、RTF 格式邮件的撰写和发送。 支持邮件发送时添加附件。 支持抄写和密送功能。 支持邮件的回复/转发功能。 具备完成所需功能的基本图形用户界面(GUI),并具友好性。 说明:额外功能的实现,将视具体情况予以一定加分。 实验过程 需求分析 对应检查表确定需要编写代码的模块 序号 1 2 3 基本5 内6 容 7 8 9 10 1 高2 级3 内容 4 4 检查内容 具备GUI界面 具有基本的邮件编辑器,可以撰写邮件 能够配置邮件服务器帐号并存储 支持POP3邮件完全下载 支持POP3邮件按需下载 (先下载邮件头,根据需要全文下载) 支持下载保存/下载删除两种模式 支持纯文本邮件发送 支持邮件发送/接收进度显示 支持邮件本地分门别类存储 支持邮件的回复和转发 支持MIME格式邮件的撰写和发送 支持附件 支持邮件的抄写和密送 支持多邮件服务器,并可在发送和接收时选择邮件服务器 写信:基于SMTP协议 未完成 未完成 写信(将相应内容当作参数传给对应函数) 未完成 收信:基于POP3协议 界面:包括登录界面、收件夹、写信等 根据上述表格对相应的模块开始编写代码。 本次的实验使用Java编写,环境为Eclipse SDK。 界面 由于直接使用Eclipse编写界面的代码太过复杂,所以我使用了Eclipse的插件Window Builder,可直接将控件拖拽到窗体中,并生成相应的代码,双击按钮时也会生成按钮的动作相关函数。 1)登录界面: 按钮Login:单击Login之后,弹出主窗口,在调用主窗口的class时,将Mail Address和 Password的内容作为参数传给主窗口的类,并交由主窗口进行验证。 2)主界面: 单击菜单,选择选项卡,会弹出相应的对话框。 3) 写信: 填写收件人、题目、内容后可发送。 4) 收信: 得到邮件的部分信息,单击Show,会弹出选中的邮件的完全显示,Download All会将邮件全部下载到本地。 5)显示邮件 单击Download&Save会将邮件保存至本地 单击Download&Delete会将邮件保存到本地并从服务器上删除 单击Reply会把寄件人地址、标题作为参数传给Reply类,并弹出Send Mail 对话框。 单击Reply会把内容、标题作为参数传给Forward类,并弹出Send Mail 对话框。 写信 1) 声明需要使用的库文件 由于Eclipse很智能,不需要手动添加,当调用了某个函数时,如果没有添加相应的库文件,Eclipse会报错,提供修改方案,在前面添加相应的库文件。 package MailClient1; import import ; import import import import ; import import import import import import import import import ; import ; import import .*; import .*; import .*; import 2)定义SendFrame类的内容 首先定义类包含的数据结构,名称和用途如表中所示: private JTextField txt_to; private JTextField txt_subject; 文本框的句柄,用于填写收件人地址 文本框的句柄,用于填写标题 private JTextArea textArea; private String pusernameadd; private String ppasswd; private String psn_s_smtp; private String pusername1; /** * */ 文本框的句柄,用于填写邮件内容 字符串,保存当前用户的邮件地址 字符串,保存密码 字符串,保存smtp服务器地址 字符串,保存用户名 public class SendFrame extends JInternalFrame{ private static final long serialVersionUID = 1L; private JTextField txt_to; private JTextField txt_subject; private JTextArea textArea; private String pusernameadd; private String ppasswd; private String psn_s_smtp; private String pusername1; 3)定义SendFrame类的构造函数SendFrame 在这个函数中,主要将界面架构起来,邮件的发送并不是在这个函数中完成的。当Send按钮被单击后,消息被函数接收到,此时通过调用SendAction函数完成邮件的发送。 public SendFrame(final String sn_username,final String sn_passwd,final String sn_s_smtp,final String usernamer1) { pusernameadd=sn_username; ppasswd=sn_passwd; psn_s_smtp=sn_s_smtp; pusername1=usernamer1; ; (textArea); setVisible(true); } 4)完成寄信操作的函数SendAction 使用了《计算机网络实验SOCKET编程指导手册》中的代码,收件人、内容、被当作参数传如,并赋值SendAction中的变量to、mailConstent 而发件人地址、smtp服务器地址、用户名、密码从类的数据结构里面读取。 public int SendAction(String to1,String constent1,String subject1) throws Exception { String mailContent = \; etHostName(); ; dd(table_1, ; JPanel contentPane;

课程实验报告

课程实验报告课程名称:专业班级:计算机科学与技术1003班学号:姓名:鲁辰指导教师:报告日期:计算机科学与技术学院目录
推荐度:
点击下载文档文档为doc格式
6itxm1f5re8qp2012imx4yj364q360011p3
领取福利

微信扫码领取福利

微信扫码分享