毕业设计(论文)-局域网信息发布程序的设计与实现.doc
《毕业设计(论文)-局域网信息发布程序的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-局域网信息发布程序的设计与实现.doc(40页珍藏版)》请在三一文库上搜索。
1、延边大学本科毕业论文局域网信息发布程序的设计与实现作 者 院 系 理工学院 计算机系 专 业 科学与技术专业 年 级 2001级 学 号 指导教师 职 称 讲师 答辩日期 2005年6月11日 目 录摘要.3英文摘要.4一、绪论.5(一)背景介绍.5(二)相关知识.5二、需求分析.9(一) 可行性分析:.9(二) 系统综合要求: .9(三) 系统数据要求: .10三、总体设计.12(一) 层次图.12(二) 系统构架图.13(三) IPO图.14四、详细设计.16(一) 服务器端设计方案 .16(二) 模块流程图.17(三) 数据库设计.20(四) 共享数据结构设计.20五、关键代码分析.22
2、(一) 编码规则.22(二) 多进程编程 .22(三) 多线程技术.23(四) 主要设计源代码介绍.23六、测试.31(一) 测试的目标和方法.31(二) 软件测试情况.31(三) 界面与功能测试情况.32七、总结.35参考文献.36摘 要本次毕业设计的题目是局域网信息发布程序的实现,是采用RedHat Linux 作为开发平台,以MySQL为数据载体,以VC语言为主要开发语言的一套包括发送消息及附件为主,并提供及时聊天功能的一个综合性软件。主要的功能是基于TCP/IP网络通信技术实现了面向连接的用户与服务器间点对点的通信传输功能,并且应用了多线程以及共享数据结构技术,使网络服务器具有了多用户
3、数据转发的功能,进而解决了局域网多用户间的信息发送的问题。在客户端,用户通过注册/登陆机制进行身份验证并通过通信服务器转发信息以及附件。对于一般采用TCP/IP协议的应用程序只实现了单用户与服务器间点对点的连接,而本文在VC6.0的环境下,运用了多线程以及共享数据结构技术,不仅实现了多用户与服务器间的连接,而且解决了多用户间信息交换问题。关键词: Linux MySQL socket 多线程 共享数据结构 信息发送ABSTRACTThis graduate design is called ”Information of LAN transmissions achieve”It is a co
4、mpositive software including chat and file transfers which takes RedHat Linux 9.0 as the develop platform, MySQL as a data carrier and use VC as the main programme language. The function includes: according to the TCP/IP network communicated technique achieve face to connect user and server point to
5、 point data transfer. And it apply multi-thread and data share technique. It use network server have more users data transmit function. Resolve communication of more users of LAN. On client, the users use login server enter the personnal interface, make use of communication server transfer data and
6、file. About commonly TCP/IP protocols application only achieve connect toone user and server . But in this article we use VC6.0, use multi-thread and share data technique not only achieve connect to more users and server but also more userss communication. KEY Words: Linux MySQL Socket Multi-thread
7、Share data structure Send message一、 绪 论(一)背景介绍由于因特网的迅速流行,越来越多的应用程序具备了在网上与其它程序通信的能力。从WIN95开始微软把网络功能融进了它的操作系统,使得应用程序网络通信能力更为普及。因此,微软的TCP/IP协议也就成为网络应用程序基于的首选协议。一般采用TCP/IP协议的应用程序只实现了单用户与服务器间点对点的连接,而我所选择的题目则是应用多线程及共享数据结构技术,不仅实现了多用户与服务器间的连接,而且解决了多用户间信息交换问题。所以说开发的这个软件应该是一个比较实用的,功能比较强大的软件。它的主要功能是基于TCP/IP网络通
8、信技术实现了面向连接的用户与服务器间点对点的通信传输功能,一套包括发送消息及附件为主,并提供及时聊天功能的一个综合性软件。它的开发环境是以RedHat Linux作为开发平台,以MySQL为数据载体,以VC语言为主要开发语言的一个软件。在这次代码的编写中我们主要研究的是网络通信方面的知识1。(二)相关知识1、Linux的特性及其优点Linux操作系统核心最早源于芬兰赫尔辛基大学一名学生Linus Torvalds的天才想法,后来经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来,在服务器及个人桌面领域得到越来越多的应用,在嵌入式开发方面更是具有其它操作系统无可比拟的优势
9、,并以每年100%的用户递增数量显示了Linux强大的力量,成为UNIX世界的一朵奇葩。Linux是一套免费的32位多用户多任务的操作系统,其稳定性、多任务能力与网络功能已是许多商业操作系统无法比拟的,Linux还有一项最大的特色在于源代码完全公开,在符合GNU GPL(General Public License)的原则下,任何人皆可自由取得、散布、甚至修改源代码。 Linux还具有以下特点:1)采用阶层式目录结构,文件归类清楚、容易管理;2)支持多种文件系统;3)具备高度移植性;4)可与其它的操作系统并存于同一台计算机上。Linux的优点也有很多,如下:1)低廉的附加费用;2)根据您的需求
10、灵活定制;3)从许可证的限制中解脱;4)稳定性;5)高性能;6)标准兼容性。2 、 数据库(MySQL)及其特点随着计算机技术的飞速发展,计算机用于管理的规模越来越大,应用越来越广泛,数据量急剧增长,传统的数据管理方式(人工管理、文件系统方式)已经远远不能满足人们的要求,数据库技术便应运而生,出现了统一管理数据的专门软件系统数据库管理系统。数据库系统由于其数据结构化、共享性高、冗余度低、易扩充,数据独立性高等优点,在各个领域得到了广泛的应用4。MySQL是一个真正的多用户、多线程的SQL数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序MySQL同的客户程序和库组成。MySQL的主
11、要目标是快速、健壮和易用。MySQL具有以下功能特点:l 可以同时处理几乎不限数量的用户;l 处理多达50,000,000以上的记录;l 命令执行速度快,也许是现今最快的;l 用户名和口令独立于/etc/passwd。这便于CGI的使用;l 使用核心线程的完全多线程支持,这意味着它能利用多cpu;l 支持多种语言开发,例如C C+ JAVA PHP;l 支持多字节类型,包括1 2 3 4 8字节长度的有符号、无符号整数;l 全面支持SQL。3、 VC简介3.1、 VC的特性虽然VC比较难学,尽管也是Visual的,但很多地方需要手工编写代码,但其开发后生成的程序质量比较高。VC编译后的速度较快
12、,不需要庞大的运行时间库支持,软件发行也不是困难;而且底层调用手段较多,适合开发硬件操作多、速度要求高的场合,比如编写硬件驱动程序等等。3.2、 VC+与网络编程VC+对网络编程的支持有socket支持,WinInet支持,MAPI和ISAPI支持等。其中,Windows Sockets API是TCP/IP网络环境里,也是Internet上进行开发最为通用的API。在TCP/IP网络通信环境下,Socket数据传输是一种特殊的I/O,它也相当于一种文件描述符,具有一个类似于打开文件的函数调用-socket()。可以这样理解:Socket实际上是一个通信端点,通过它,用户的Socket程序可以
13、通过网络和其他的Socket应用程序通信。Socket存在于一个通信域里,并且与另一个域的Socket交换数据。Socket有三类。第一种是SOCK_STREAM(流式),提供面向连接的可靠的通信服务,比如telnet,http。第二种是SOCK_DGRAM(数据报),提供无连接不可靠的通信,比如UDP。第三种是SOCK_RAW(原始),主要用于协议的开发和测试,支持通信底层操作3。4、数据通信的种类4.1、TCP/IP(传输控制协议)它是由Socket类实现,并且它提供的是一种可靠的、面向连接的数据传输方式,不管是对单个的数据报还是对数据包,流式套接字都提供了一种流式数据传输。TCP接收传输
14、协议数据包并把它们传递到表示层。并把信息分解成数据包(datagrams) 并在接收端重新组装起来。它还对丢失的数据包进行重新传输的请求5。4.2、UDP(用户数据报协议)由DatagramSocket类实现数据报套接字,它提供的是一种不可靠的非连接的数据包通信方式,不可靠的意思是发送一个数据包不能保证被接收方接收,也不保证数据包按照发送顺序到达接收方,虽然它使你的应用程序更有效率,但只有在你的应用程序并不是立即交流大量数据并且不需要组装大量的数据报而完成一条消息的时候才使用5。基于上面两种方法的比较,我选择的是TCP/IP协议作为这次开发的协议,用他来控制传输数据。5、 小组分工在局域网信息
15、发布程序的设计与实现中本人负责服务器部分的代码设计与编写。二、需求分析(一) 可行性分析可行性分析的目的是为了用最小代价在最短时间内确定问题是否能够解决。可行性分析的实质就是要进行一次压缩简化系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程1。(1)技术可行性:这个软件通用,可行。(2)经济可行性:这个软件的经济效益会远大于开发成本,可行。(3)操作可行性:Linux系统/Windows系统和MySql为大家所熟知,比较易于操作,这个软件也易于使用,可行。(二) 系统综合要求需求分析的基本任务是准确的回答“系统必须做什么?”1这个问题。这一阶段是对系统认识最为全
16、面、准确、清晰、得体的一个比较关键的时期。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。因此,必须用行之有效的方法对软件需求进行严格的审查验证,为下一步的总体设计打好基础。2.1 、系统功能要求需求分析的基本任务是准确的回答“系统必须做什么?” 功能:1) 注册会员于登录服务器,并把相关会员信息写入数据库中,在登陆时要进行身份验证。2) 建立多用户间的通信连接。3) 用户间消息和文件的传送和接收。4) 附件与文字同时发送。2.2、 系统性能要求时间性能要求:在实际应用中可能需要多用户间信息互发的问题,客户端的大量频繁的访问,服务器响应时间应该尽可能缩短,对于有特殊需求的应用
17、,还要求达到实时响应。存储性能要求:根据应用中的实际情况配置适当容量的存储设备。稳定性安全性要求:要求软件尽可能的稳定,对于一般的应用系统,对安全性要求不高,对于特殊的应用,还需要在安全性方面加以保证,所以要相应提高服务器端的配置。2.3、 系统运行要求服务器端: Linux系统和MySQL服务器。Server:用于接收/转发数据,连接数据库及应用程序。客户端: 多个PC机,通信用,作为数据发生器。2.4、 将来可能提出的要求在实际应用中,用户的要求随时可能发生变化,如需要更改数据库信息,改变通信参数,增加访问量以及需要提高系统的性能要求等等。为了减少软件改写的难度,提高软件的可维护性,在设计
18、时要考虑到以上的种种可能性,提高程序的可读性和易扩充性。(三) 系统数据要求数据流图是描绘系统的逻辑模型,描绘信息在系统中流动和处理的情况。数据流图是逻辑系统的图形表示,非常容易理解,所以是极好的通信工具,同时,设计数据流图只需要考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点1。下面是我们设计的数据流图: 图2-1数据流图因为数据流图是描绘信息在系统中流动和处理的情况,所以首先说明一下这个数据流图的作用:局域网信息发布的起点与终点都是用户自己本身,也就是发起者与接收者都是用户自己。进入我们的程序后,首先用户要自己判断是这册用户还是登录用户
19、,想成为会员首先就要注册成为会员,这样就进入了注册信息这个阶段,填写注册用户的基本信息,详细信息。判断该信息是否有人注册,如果注册信息成功,则把用户的注册信息写入在数据库中,也就是更新我们的数据库信息并保存数据,反馈给用户注册成功的信息,用户就进入登录界面进行登录,进入到客户端后,用户可根据相应的要求发送信息、附件等给用户。并且这些信息与附件相应的通过通信服务器转发,并保存2。上面就是这个数据流图的过程,用户与用户之间的联系,用户与服务器的联系,都表现了出来。三、 总体设计经过了需求分析阶段的工作,系统必须“做什么”的问题已经清楚了,现在是决定“怎么做”的时候了。总体设计的基本目的就是回答“概
20、括得说,系统应该如何实现?”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作,将划分出组成系统的各个物理要素程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系1。(一)层次图层次图用来描绘软件的层次结构,通过它我们可以更清晰的看到软件的模块组成情况。根据我们这个题目的设计,我们相应的把设计划分成下面几个大的模块5。一个模块是注册登录服务器,它包括用户注册、登录以及数据库管理这三个功能,启动注册
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 局域网 信息 发布 程序 设计 实现
链接地址:https://www.31doc.com/p-3284538.html