[计算机软件及应用]邮件收发及弹出提示毕业设计.doc

上传人:音乐台 文档编号:1992128 上传时间:2019-01-29 格式:DOC 页数:67 大小:1.34MB
返回 下载 相关 举报
[计算机软件及应用]邮件收发及弹出提示毕业设计.doc_第1页
第1页 / 共67页
[计算机软件及应用]邮件收发及弹出提示毕业设计.doc_第2页
第2页 / 共67页
[计算机软件及应用]邮件收发及弹出提示毕业设计.doc_第3页
第3页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[计算机软件及应用]邮件收发及弹出提示毕业设计.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]邮件收发及弹出提示毕业设计.doc(67页珍藏版)》请在三一文库上搜索。

1、xxxx 大学毕业论文大学毕业论文 题题 目:目: 邮件接发及自动弹出系统邮件接发及自动弹出系统 学学 院:院: 信息工程学院信息工程学院 专专 业:业: 软件工程软件工程 学学 号:号: 2008551012 姓姓 名:名: xx 指导教师:指导教师: xx 完成日期:完成日期: 2012 年年 5 月月 湘湘 潭潭 大大 学学 毕业论文(设计)任务书毕业论文(设计)任务书 论文(设计)题目: 邮件收发及自动弹出系统 学号: 2008551012 姓名: xx 专业: 软件工程 指导教师: 系主任: xx 一、主要内容及基本要求 主要内容: (1)能够实现已注册使用的邮箱帐号登录; (2)能

2、够在线接收邮件并保存在收信箱; (3)能够在线发送邮件并保存在已发送信箱; (4)能够查看收信箱已发送信箱的邮件列表并查看单个邮件内容; (5)能够添加常用联系人目录; (6)能够时时监控新邮件的达到并发出提示。 基本要求: (1)能够满足日常接发邮件的要求; (2)能够及时的提醒用户新邮件的到达,弹出提示; (3)能够通过该系统登录主流类型的邮箱帐号。 二、重点研究的问题 (1)邮箱的连接; (2)邮件的接发; (3)新邮件的监控; (4)弹出提示的触发; (5)邮件的读取。 三、进度安排 序号各阶段完成的内容完成时间 1系统流程图及模块划分2012.3.13-2012.3.15 2模块功能

3、分析及时序图的描绘2012.3.17-2012.3.18 3毕业论文的初步完成2012.3.25-2012.3.27 4邮件接发的代码实现2012.3.31-2012.4.13 5新邮件监控及提示的代码实现2012.4.15-2012.4.23 6毕业论文的内容完善2012.5.3-2012.5.7 7毕业论文的格式完善2012.5.9-2012.5.10 8毕业论文的格式的进一步完善2012.5.17-2012.5.18 四、应收集的资料及主要参考文献 1.(美)埃史尔 .Java 编程思想(第 4 版)M. 机械工业出版社.2007:15-34 2.Liang, Y.D Java 语言程序

4、设计基础篇M.机械工业出版社,2006:11-156 3.刘晓华. 精通 Java 核心技术M.电子工业出版社,2003:69-289 4.龚正虎. 现代 TCP/IP 网络原理与技术M. 北京:国防工业出版社,2002:16-35 5.殷肖川. 网络编程与开发技术M. 西安:西安交通大学出版社,2003:19-145 6.W.Richard Stevens. TCP/IP 详解 卷 1:协议M. 机械工业出版社.2000:45-89 7.胡安廷. 简单实现中文邮件.中国计算机报J.2004,11(自然科技版) 8.Paul C.Jorgensen.Software Testing A Cra

5、ftsmans Approach(second Edition)M.China Machine Press,2003,170-175 9.潘泰国. 新一代电子邮件系统.电子技术应用J.2009.7(第四版) 10. Herbert Schildt. Java 参考大全M北京:清华大学出版社,2006.1:1-257 xx 大大 学学 毕业论文(设计)评阅表毕业论文(设计)评阅表 学号 姓名 xx 专业 软件工程 毕业论文(设计)题目: 邮件收发及自动弹出系统 评价项目评 价 内 容 选题 1.是否符合培养目标,体现学科、专业特点和教学计划的基本要求,达到 综合训练的目的; 2.难度、份量是否适

6、当; 3.是否与生产、科研、社会等实际相结合。 能力 1.是否有查阅文献、综合归纳资料的能力; 2.是否有综合运用知识的能力; 3.是否具备研究方案的设计能力、研究方法和手段的运用能力; 4.是否具备一定的外文与计算机应用能力; 5.工科是否有经济分析能力。 论文 (设计) 质量 1.立论是否正确,论述是否充分,结构是否严谨合理;实验是否正确,设 计、计算、分析处理是否科学;技术用语是否准确,符号是否统一,图表 图纸是否完备、整洁、正确,引文是否规范; 2.文字是否通顺,有无观点提炼,综合概括能力如何; 3.有无理论价值或实际应用价值,有无创新之处。 综 合 评 价 该选题符合本科生培养目标,

7、体现学科、专业特点和教学计划的要求, 达到了综合训练的目的。难度、份量适中。所做工作表明,该生具有一定 的文献查阅与系统分析设计能力。毕业设计说明书结构清晰,论述合理, 书写规范,具有一定的实用价值。 评阅人: 年 月 日 湘湘 潭潭 大大 学学 毕业论文(设计)鉴定意见毕业论文(设计)鉴定意见 学号: 姓名: xx 专业: 软件工程 毕业论文(设计说明书) 61 页 图 表 21 张 论文(设计)题目: 邮件接发及自动弹出系统 内容提要: 本课题致力于设计并实现一种带有邮件收发及新邮件自动弹出提示功能的客户端 软件,详细介绍了课题所涉及到的相关理论以及编程的相应准备工作,接着介绍了本课 题的

8、设计方案,具体描述了该客户端软件的操作流程,主要模块设计,主要的界面设计 以及部分模块的详细设计等,最后文章对本文的工作进行了总结和展望。 特点主要体现在以下几个方面:(1)能够让通过客户登录不同类型的邮箱帐号进 行登录(2)能够让客户在线接收和发送邮件,并可以查看相应的已收邮件和已发送邮 件(3)能够时时的监控邮箱的状态,对于新到邮件弹出提示,确保客户可以及时的查 阅邮件的内容 。本文详细地介绍了读信箱模块,写信箱模块,收信箱模块的具体设计, 采用了 Java 的 GUI 的应用程序设计方法,基于 MVC 的框架模式。主要采用 Java Swing 编码。 指导教师评语 本文设计并实现一种带

9、有邮件收发及新邮件自动弹出提示功能的客户端软件,主 要实现了以下功能:能够让通过客户登录不同类型的邮箱帐号进行登录、能够让客户 在线接收和发送邮件并可以查看相应的已收邮件和已发送邮件、能够时时的监控邮箱 的状态,对于新到邮件弹出提示,确保客户可以及时的查阅邮件的内容。在系统实现 过程中主要采用了 Java 的 GUI 的应用程序设计方法以及基于 MVC 的框架模式,采用 Java Swing 编码。所做工作表明,该生具有一定的系统设计与编程能力,较好地完 成了毕业设计的任务要求。 同意其参加答辩,建议成绩评定为良好。 指导教师: 年 月 日 答辩简要情况及评语 答辩小组组长: 年 月 日 答辩

10、委员会意见 答辩委员会主任: 年 月 日 I 目录 摘要1 Abstract2 第一章 绪论3 1.1 课题背景.3 1.2 研究现况.3 1.3 本文所做工作与系统概述 .4 1.3.1 系统概述 .4 1.3.2 本文工作 .5 1.4 小结.5 第二章 TCP/IP 网络编程简介.6 2.1 TCP/IP 协议.6 2.1.1 TCP/IP 协议简介6 2.1.2 TCP/IP 协议层次概述6 2.1.3 TCP/IP 协议的工作原理6 2.1.4 TCP/IP 协议的优点7 2.1.5 TCP/IP 协议的缺点7 2.1.6 TCP/IP 协议的未来发展趋向7 2.2 WINDOWS

11、SOCKETS网络编程8 2.2.1 WindowsSockets 简介8 2.2.2 套接字的两种主要形式9 2.2.3 Windows Sockets 网络编程9 2.2.4 Winsock 的主要函数及其应用.10 2.3 本章小结11 第三章 系统运行环境12 3.1 运行平台.12 3.1.1 硬件平台 .12 3.1.2 软件平台 .12 3.2 运行环境的配置.12 3.2.1 POP3 和 STMP 简介 12 3.2.2 安装 POP3/SMTP 服务12 3.2.3 配置 POP3/SMTP 服务13 II 3.3 构建邮件系统的准备工作15 3.3.1 操作系统和服务器软

12、件的选择15 3.3.2编程语言和编程环境的选择16 3.4 本章小结 .20 第四章 邮件接发与桌面自动弹出系统的设计与实现.22 4.1 系统概述22 4.2 主要模块介绍23 4.2.1 帐号管理 .23 4.2.2 邮件管理 .24 4.2.3 弹出窗口管理 .28 4.3 系统详细设计.28 4.3.1 收件箱模块的详细设计28 4.3.2 写邮件模块的详细设计30 4.3.3 读邮件模块的详细设计31 4.4 系统测试.32 4.4.1 同一 SMTP 服务器发送邮件的测试 32 4.4.2 同一服务器,发送一封纯文本邮件的测试32 4.4.3 同一服务器,发送一封带附件的邮件的测

13、试33 4.4.4 利用不同的 SMTP 服务器发送邮件的测试.33 4.4.5 同一服务器,接收一封纯文本邮件的测试33 4.4.6 同一服务器,接收一封带附件的邮件的测试34 4.5 本章小结.34 第五章 核心代码解析35 5.1 邮件的检测.35 5.2 邮件附件的下载.37 5.3 本章小结.39 总结与展望40 参考文献41 附录43 致谢59 1 邮件接发及自动弹出系统邮件接发及自动弹出系统 摘要摘要:电子邮件(简称 E-mai1)又称电子信箱、电子邮政,它是种用电子手段提供信息交换 的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交 流及数据

14、传送,它是个简易、快速的方法。通过连接全世界的 Internet,实现各类信号的传送、接收、 存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是 Internet 资源使用最多的 一种服务,E-mai1 不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信 息。 电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是子信箱系统的核 心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要 求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子 邮箱中。接收者可在他认为方便的时候读取

15、信件,不受时空限制。在这里,“发送”邮件意味着将邮 件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管 理系统支持的个实体。因为电子邮件是通过邮件服务器(mai1 server)来传递档的。通常 mail server 是执行多任务操作系统 UNIX 的计算机,它提供 24 小时的电子邮件服务,用户只要向 mail server 管理人员申请个信箱账号,就可使用这项快速的邮件服务。 邮件的便利早就了它飞速的发展,如今的人们大多都会有自己的邮箱,有的甚至有好几个,然 而快节奏的生活,使人们往往不能及时的查阅邮箱的内容,耽误了日常行程。本毕业设计致力设计 和实

16、现一种邮件客户端,可以收发邮件和弹出新邮件的提示。 本文主要分析了邮件客户端软件的基本要求,再结合毕业设计的需求和自身的能力水平,设计 了自己的软件流程并规划了 3 个基本模块:帐号管理,邮件管理以及弹出提示系统的管理,并对收 邮件,发邮件,写邮件三个核心功能的实现进行了详细介绍。通过代码编程和最终的软件测试基本 完成了预期要求实现了邮件的接发和新邮件的提醒。 关键词:关键词:电子邮件;邮件接发;邮件客户端 ;弹出提醒; 2 Mail server and automatic popup system Abstract:E-mail (referred to as E-mai1), also

17、known as e-mail, e-post, it is - the exchange of information by electronic means of communication. It is the most widely used one in the global multi- network services. This non-interactive communication, accelerate the exchange of information and data transfer, it is - a simple, rapid method. Vario

18、us types of signal transmission through the Internet connection around the world, receiving, storage, processing, e-mail sent to the corners of the world. So far, we can say that the e-mail is an Internet resource using a service, E-mai1 is not limited to the delivery of the letter can also be used

19、to transfer files, sound and graphics, and images of different types of information. E-mail is not an “end to end“ service, is known as the “storage-and-forward“ service. This is the core of the e-mail system, use of storage forwarding can be non-real-time communication is asynchronous communication

20、. The letter sender can send a message anytime, anywhere, does not require recipients to present at the same time, even though they are not, you can still e-mail is immediately sent to the others mailbox and stored in each others e-mail. The receiver can be convenient to read a letter from the const

21、raints of time. Here, “Send“ message means the message on the recipients mailbox, “received“ message it means to read a letter from your own mailbox, the mailbox is actually supported by the document management system - entities . E-mail is to pass the file through the mail server (mai1 server). The

22、 mail server is usually the implementation of multi-tasking operating system UNIX computer, it provides 24-hour e-mail service, allowing the user to the mail server management applications - a mailbox account, you can use the fast mail service. The convenience of the early mail it and rapid developm

23、ent, now most people can have his mailbox, some even have several, however the fast pace of life, people often cant timely access to the content of the mailbox, delayed the daily schedule. Graduation design is committed to the design and implementation of a mail client, can email and the pop-up new

24、mail tips. This paper mainly analyzes the mail client software basic requirement, and combine the graduate design demand and its own ability level, design their own software process and planning the three basic module: account management, email management and activated suggest system management, and

25、 to get the mail, email, write to the realization of the function of the three core described in detail. Through the code programming and final software testing has basically completed realized the mail is expected of hair and new email reminder. Keywords: Email; Mail server; Mail client ; Pop-up re

26、mind ; 3 第一章第一章 绪论绪论 1.1 课题背景课题背景 随着改革开放的深入发展,社会主义市场经济的建立,信息化时代的步伐不断加 快。根据最新公布的 2006-2020 国家信息化发展战略,信息化是充分利用信息技术, 开发利用信息资源,促进信息交流和知识共享,提高经济增长质量,推动经济社会发 展转型的历史进程26。 电子邮件是当前信息化时代中不可缺少的重要通信手段。电子邮件是种用电子 手段提供信息交换的通信方式,是 Internet 应用最广的服务:通过网络的电子邮件系统, 用户可以用非常低廉的价格(不管发送到哪里,都只需负担电话费和网费即可),以 非常快速的方式(几秒钟之内可以发送

27、到世界上任何你指定的目的地),与世界上任 何一个角落的网络用户联系,这些电子邮件可以是文字、图像、声音等各种方式。同 时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。这是任何传 统的方式也无法相比的。正是由于电子邮件的使用简易、投递迅速、收费低廉,易于 保存、全球畅通无阻,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大 的改变。电子邮件综合了电话通信和邮政信件的特点,它传送信息的速度和电话一样 快,又能象信件一样使收信者在接收端收到文字记录。电子邮件系统又称基于计算机 的邮件报文系统。它承担从邮件进入系统到邮件到达目的地为止的全部处理过程。电 子邮件不仅可利用电话网络,

28、而且可利用任何通信网传送。在利用电话网络时,还可利用 其非高峰期间传送信息,这对于商业邮件具有特殊价值。由中央计算机和小型计算机 控制的面向有限用户的电子系统可以看作是一种计算机会议系统。 最重要的是,电子邮件是整个网间网,以至所有其他网络系统中直接面向人与人 之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在 的人与人通信的需求2。在高度信息化的今天,灵活和便捷地使用电子邮件,对提高工 作效率、贯彻国家信息化发展战略意义重大 1.2 研究现况研究现况 经过在网上的查找,发现有关于电子邮件的收发管理系统有: “Windows Live Mail Desktop”,它将桌

29、面软件的功能性与基于 Web 的电子邮件 的灵活性结合在一起,轻松接收新闻组和 RSS 源,在脱机状态下撰写、删除及管理电 子邮件;即时添加关于任何信息的 Windows Live Spaces 网络日志项 与 Windows Live Messenger 联系人保持密切联系,也可以创建并编辑照片电子邮件3; 4 “KooMail” 它支持分割发送大邮件并且接收后自动合并,对分割发送的邮件支 持断点续传,其中邮件模板支持附件主题等,具有发送邮件加密功能使邮件更安全, 实现邮件的过滤和规则功能;发送邮件无须 SMTP 服务器,具有多种邮件编码支持各 国语言字符集邮件彻底与乱码告别;可以选择先接收

30、较大或较小的邮件从而优化收邮 件列表;能定时发送邮件。 “梦幻快车(DreamMail)”它支持 SMTP、eSMTP、POP 3、Hotmail、Yahoo 等邮件协议,真正采用多线程高速收发邮件。附带增强型远程管理,可以直接查看服 务器上邮件的内容、直接删除邮件;具有邮件过滤器、黑名单及白名单等组合使用能 有效对付垃圾邮件;能自动检测破坏性邮件增强系统安全。另外,梦幻快车通过特有 的破乱码技术轻松对付各种乱码邮件。此外,它还集成了许多特色功能,比如:添加 账号时自动检索 POP3/SMTP 服务器、可以自定义动态滚动新闻、支持显示发件人地 址及插入邮件表情等等19。 “Foxmail”它是

31、由原华中理工大学张小龙开发的一款优秀的国产电子邮件客户端 软件,2005 年 3 月 16 日被“腾讯”收购。新的 Foxmail 具备强大的反垃圾邮件功能。 它使用多种技术对邮件进行判别,能够准确识别垃圾邮件与非垃圾邮件。垃圾邮件会 被自动分捡到垃圾邮件箱中,有效地降低垃圾邮件对用户干扰,最大限度地减少用户 因为处理垃圾邮件而浪费的时间。数字签名和加密功能在 Foxmail 5.0 中得到支持,可 以确保电子邮件的真实性和保密性。 通过安全套接层(SSL)协议收发邮件使得在邮件 接收和发送过程中,传输的数据都经过严格的加密,有效防止黑客窃听,保证数据安 全。其他改进包括:阅读和发送国际邮件(

32、支持 Unicode)、地址簿同步、通过安全套接 层(SSL)协议收发邮件、收取 邮箱邮件;提高收发 Hotmail、MSN 电子邮件 速度 支持名片(vCard)、以嵌入方式显示附件图片、增强本地邮箱邮件搜索功能等等 1.3 本文所做工作本文所做工作与系统概述与系统概述 1.3.1 系统概述系统概述 一般的客户端电子邮件软件应该有以下的功能: 1) 编辑邮件(用户进行邮件编辑) 2) 读邮件(用户在收件箱、发件箱、草稿箱和垃圾箱中查阅邮件信息) 3) 发送邮件(发送已编辑的邮件或回复接收邮件) 4) 接收邮件(接收发送方的邮件) 5) 注册帐号(添加新的账号) 6) 绑定帐号(将已申请的帐

33、号绑定在提示窗口的监控帐号列表里) 7)删除帐号(从提示窗口的监控帐号列表删除) 5 1.3.2 本文工作本文工作 本文在深入了解电子邮件管理的实际操作流程的基础上,总结生活中常用的电子 邮件功能,并根据毕业设计的需求,适当的对功能进行删减和概括,加上综合自身能 力考量,最后提炼出几个典型的邮件操作模块,采用面向对象的编程思想设计并开发 一套简单、方便的邮件接发及桌面自动弹出系统,实现对电子邮件灵活的管理。 具体每章所做内容如下: 第一章:绪论 初步介绍了该课题的背景及研究现状以及对整个所做工作的介绍及 总结。 第二章:介绍了 tcp/ip 的网络编程。包括 tcp/ip 协议简介以及 Win

34、dows Sockets 网 络编程并对该章进行了总结。 第三章:系统运行环境包括硬件及软件平台 pop3 和 stmp 的简介安装和配置。以 及和构建邮件系统的准备工作包括操作系统,服务器,编程语言和编程环境的选择以 及对该章的小结。 第四章:邮件接发与桌面自动弹出系统的设计与实现 包括系统概述,主要模块介 绍,相应模块的详细设计,以及最后的系统测试。 最后对本次毕业设计的总结以及对前景进行展望。 1.4 小结小结 随着电子邮件的发展没,各式各样的邮件客户端满足着人们对电子邮件的不同需 求,通过查找了解了一些目前出现的邮件客户端在,深入的观察了它们各自的优缺点, 再结合电子邮件的现状和发展需

35、求来看,人们的生活节奏越来越快,所以有时间如果 不能及时的查看自己电子邮箱的内容就可能耽误日常的工作和生活,所以在传统的电 子邮箱客户端的基础之上添加新邮件时时提醒功能显得十分的必要,所以本毕业设计 就是在自己设计邮件客户端的基础上加上了对新邮件到达提醒功能吗,很好的满足了 人们对电子邮件的新需求。 6 第二章第二章 TCP/IP 网络编程简介网络编程简介 2.1 TCP/IP 协议协议 2.1.1TCP/IP 协议简介协议简介 TCP/IP 协议19是“transmission Control Protocol/Internet Protocol”的简写,中文译名 为传输控制协议或互联网络协

36、议。TCP/IP 是 INTERNET 的基础协议,也是一种电脑数 据打包和寻址的标准方法。它也是一种网络通信协议,规范了网络上的所有通信设备, 特别是一个主机与另一个主机之间的数据传送方式以及往来格式。 2.1.2 TCP/IP 协议层次概述协议层次概述 从协议的分层模型来讲,TCP/IP 由四个层次组成:应用层、传输层、网络层、网 络接口层。如图 2-1 所示。 图图 2-1 TCP/IP 结构对应结构对应 OS 结构结构 TCP/IP 协议采用了 4 层的层级结构,并不完全符合 OSI 的七层参考模型,每一层 都呼叫它的下一层所提供的网络,来完成自己。ARPNET 的设计者注重网络互联,

37、允 许通信子网采用已有的或是将来有的各种协议,因此这个层次中没有提供专门的协议。 实际上,TCP/IP 协议可以通过网络接口层连接到任何网络上。 2.1.3 TCP/IP 协议的工作原理协议的工作原理 在数据传送的过程中,可以形象地理解为有两个信封,TCP 信封和 IP 信封。而要 传递的信息被划分成若干段,将每一段塞入一个 TCP 信封,并在该信封面上记录分段 号的信息,再将 TCP 信封塞入 IP 大信封,发送上网。在接受的那一端,会有一个 TCP 软件包,收集信封,抽出数据,按发送前的顺序还原,并加以校验。若发现差错, TCP 将会要求重发。因此,TCP/IP 在 INTERNET 中几

38、乎可以无差错地传送数据2。 7 对于普通用户来说,并不需要了解网络协议的整个结构,仅需了解 IP 的地址格式,便 可以与世界各地进行网络通信。 2.1.4 TCP/IP 协议的优点协议的优点 (1)协议相对独立,它独立于特定的网络硬件,可以运行在局域网,广域网,互 联网中。 (2)它是开放的协议标准,可以免费使用,并且独立于特定的计算机硬件与操作 系统。 (3)它是标准化的高层协议,还可以提供更多可靠的用户服务。 (4)协议易于设计和实现,具有统一的网络地址分配方案,使得整个 TCP/IP 设 备在网中都具有唯一的地址。 2.1.5 TCP/IP 协议的缺点协议的缺点 在互联网长期发展的过程中

39、,TCP/IP 也在跟随着互联网一起发展。但是 TCP/IP 协 议具有一个致命缺点,地址空间的局限性。此协议虽然尽最大努力来传输信息包,但 其各层间不能保证,安全可靠的给上层提供服务。它对于互联网上涌现的有些新业务 类型缺乏有效的支持。 2.1.6 TCP/IP 协议的未来发展趋向协议的未来发展趋向 由于 TCP/IP 协议存在着致命的缺点,对其进行改良和发展已经变得刻不容缓,首 先要解决的就是地址空间不足的问题。在互联网业界对这问题有两种解决方案,一种 是非兼容方面的升位,这就是采用全新的地址协议;另一种就是采用兼容方面的路径, 如超级协议,网络地址转换等。其次要需要解决的就是安全和服务方

40、面的问题。在安 全方面的问题则主要是对 TCP/IP 各层协议之间的分析,从而防止黑客利用漏洞进行网络 攻击,窃取用户的资料或者恶意破坏网络的结构。 目前我们互联网上广泛使用的 TCP/IPv4,就是 TCP/IP 协议的第四个版本。为了解 决现有网络协议的弊端,TCP/IPv6 在不断发展和完善过程中。但在 IPv4 向 v6 过渡的 过程中,必须遵循以下的原则: 保证 IPv4 和 IPv6 主机之间的互通; 在更新过程中避免设备之间的依赖性,即某个设备的更新不依赖于其它设备的更 新; 对于终端用户和网络管理者来说,过渡的过程是易于理解和实现的; 过渡可以逐个进行,运营商、用户可以自己决定

41、何时过渡和如何过渡。 8 只要遵循了上面的原则,相信在不久将来,就将会代替原有的 TCP/IP 协议。 2.2 Windows Sockets 网络编程网络编程 2.2.1 WindowsSockets 简介简介 Windows sockets 简称 Winsock,是在 Windows 环境下使用的一套网络编程3机制, 是微软窗口系统结构(WOSA)的一部分。它是起源于 UNIX 上的 Berkeley Software Distribution(BSD)版本的套接字、并为 Windows 进行了专门地扩展。它不是一种网络 协议,而是一套开放的、支持多种协议的 Windows 环境下的网络编

42、程接口。现在的 Windows Sockets 已经基本上实现了与协议无关,你可以使用 Winsock 来调用多种协议 的功能,当下较常使用的是 TCP/IP 协议。图 2-2 为应用程序与 Winsock 关系图。 图图 2-2 应用程序与应用程序与 Winsock 关系图关系图 Windows sockets 在 Windows 下得到了广泛的应用,支持多种协议的网络编程接 口。它定义并记录了如何使用 API 与 Internet 协议族的连接,还要特别指出的所有的 Windows sockets 实现都支持流套接字和数据报套接字。当我们为 Client/Server 开发一 个特殊的应用

43、程序时,我们可以通过套接字来交换我们的数据结构和数据报,以完成应用 程序之间的通信。应用程序调用 Winsock 的 API 实现相互之间的通讯。Winsock 又利 9 用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。它们之间的关系如 图 2 所示: 2.2.2 套接字的两种主要形式套接字的两种主要形式 在 Windows 套接字3中,它主要有流式套接字(Stream socket)和数据报套接字 (Datagram socket)两种形式 。流式也称为面向连接方式套接字,采用的是 TCP 协议,它 提供了有序的,双向的,无重复并且无记录边界的数据流服务。在这种方式下的两个通讯 的

44、应用程序之间,会建立一种虚拟的连接。流方式的特点是:通讯可靠,对数据有校验和 重发的机制,通常用来作数据文件的传输,如 ftp ,telnet 等,适合大量数据的传输。数据 报套接字采用的是 UDP 协议,建立在 IP 协议上,提供的是无连接数据报传输,支持双向 的数据流,但并不保证是有序、可靠、无重复的。 2.2.3 Windows Sockets 网络编程网络编程 网络程序要考虑的几个问题 (1)并发环境下的网络编程 在多线程应用中,对系统的调用或函数的使用有很多限制,因此在编程时应该注 意的那些不可重入的调用或函数。 (2)异构环境下的网络编程 网络中,通信往往在异构环境下进行。因此要考

45、虑不同平台之间的异构性。 (3)阻塞与非阻塞通信 网络编程中可以将通信分为:阻塞和非阻塞两种模式。对于不同的协议,阻塞通 信和非阻塞通信的表现是不同的,所以在进行网络编程的时候,选择通信模式是一件 很重要的事情。以套接口编程为例,在阻塞模式下,调用 recv()函数读取网络缓冲区中 的数据,如果没有数据到达,将一直挂在 recv()这个函数调用上,直到读到一些数据, 此函数调用才返回;而非阻塞套接字不管是否执行成功,都立即返回。在实际 Windows 网络通信软件开发中,异步非阻塞套接字的应用是最多的。平常所说的 Client/Server(客户端/服务器)结构的软件就是异步非阻塞模式的。 (

46、4)服务类型的选择 从通信角度来说,分为两类:面向连接符和无连接服务。 对于面向连接的通信,因为两个对等的实体要建立连接,进行数据的通信。面向 连服务的要求是,在数据交换之前,就必须先建立连接。在数据交换后,再终止这个 连接。 10 对于无连接的两个实体,有服务通信时,不需要建立连接,其所需的资源在数据 进行传输时就动态的进行分配。无连接的优点是方便、高效、灵活。但是它不能预防 报文的丢失、重复和失序。 2.2.4 Winsock 的主要函数及其应用的主要函数及其应用 在使用 Winsock 设计网络程序,最为关键的问题是要了解与掌握 Winsock API 中 的各种功能函数。 (1)数据格式转换函数 不同的计算机系统在存储由多个字节组成的信息时,有些是将高序列字节放在低 地址处,有些相反,拔高序列字节放在高地址处。发送端在传输数据之前要将“主机 字节”转化为“网络字节”。在 Wins

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1