聊天系统设计与实现本科毕业(设计)论文.doc

上传人:s9****2 文档编号:557314803 上传时间:2023-04-30 格式:DOC 页数:41 大小:1.03MB
返回 下载 相关 举报
聊天系统设计与实现本科毕业(设计)论文.doc_第1页
第1页 / 共41页
聊天系统设计与实现本科毕业(设计)论文.doc_第2页
第2页 / 共41页
聊天系统设计与实现本科毕业(设计)论文.doc_第3页
第3页 / 共41页
聊天系统设计与实现本科毕业(设计)论文.doc_第4页
第4页 / 共41页
聊天系统设计与实现本科毕业(设计)论文.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《聊天系统设计与实现本科毕业(设计)论文.doc》由会员分享,可在线阅读,更多相关《聊天系统设计与实现本科毕业(设计)论文.doc(41页珍藏版)》请在金锄头文库上搜索。

1、聊天系统设计与实现聊天系统设计与实现目 录第1章 引言11.1 系统开发的背景11.2 聊天工具开发的目标21.3 聊天工具开发的现实意义2第2章 开发平台与相关知识简介32.1 系统综合要求32.2 C+ 简介32.3 MicroSoft. NET Framework 简介32.4 Microsoft DirectX SDK 简介32.5 NET 与多线程技术42.6 C/S结构与WINDOWS SOCKETS网络编程42.7 XML简介5第3章 需求分析63.1 用户需求63.2 系统功能需求63.3 性能要求63.4 测试环境规定73.5 可行性研究7第4章 系统设计74.1 系统目标7

2、4.2 系统功能结构84.3系统模块划分9第5章 系统模块详细设计95.1 文本聊天模块实现95.2 语音传输模块实现145.3 用户管理模块实现17第6章 系统测试216.1 系统测试概述216.2 白盒测试216.3 黑盒测试22第7章 主要问题及解决247.1 多线程问题247.2 套接字异常24结语24参考文献25附录26I基于C+的FeiQ的山西达内公司局域网聊天系统设计与实现基于c+的FeiQ的山西大内公司局域网聊天系统的设计与实现 文本、语音聊天 学生姓名:张 立 澎 指导教师:樊东燕 胡艳慧内容提要:随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信

3、息发布,通信,数据共享等等。局域网的发展也同样迅速。很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET。因此基于局域网的即时通信工具,就这样应运而生了。本文提出了一个局域网聊天工具的设计,并在WINDOWS平台上加以了实现。本设计将语音聊天、文本聊天和功能综合在一个客户端程序之内,使用C#语言进行网络编程,用多线程实现不同的并行任务,并进行了人性化的界面设计,使用起来简单方便,并且功能十分合理,又易于扩展以及个性化定制。关键词:局域网 文本聊天 语音对话 可扩展标记语言 多线程1. 引言1.1 系统开发的背景当今世界正处于信息时代,计算机和通信网络是这一时

4、代所谓“信息基础设施”。随着网络的普及化,网络作为人们相互间沟通与交流联系的现代化工具日益重要,可以说现在人们的生活已经离不开网络。在现实生活中人们可以通过多种手段与家人亲戚朋友交流通讯,像电话,电子邮件等。但这些手段都有些缺点,要么费用太高,要么实时性不强,要么1次只能和1位好友进行交流。于是这就需要1种便宜,快速,能同时与多个好友进行通讯的网络工具的出现,而网络聊天工具就满足了这些需求,填补了这个空白。在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了。聊天室程序可以说是网上最简单的多点通信程序。一个简单的聊天室, 从程序员的观点来看就是在多个I/O端点之间实现多对多

5、的通信。广域网上的即时通信工具,如今一般采用UDP或者 TCP协议体系来实现,开发技术已经比较成熟,这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是利用各种平台上的网络通信接口,建构基于TCP/IP,或者UDP协议的软件产品。网络的飞速发展使网络应用程序的开发地位显的越来越重要,而网络应用程序的开发和传统应用程序的开发在思想和实现上有很大的区别,随着网络技术和数据库管理系统的发展,C/S体系结构在软件的开发中越来越流行。因为这种结构的应用软件可以充分发挥网络的作用和数据库系统的优势,以满足人

6、们各种应用的需求。1.2 聊天工具开发的目标本设计的主要工作是设计一个基于WINDOWS平台的局域网即时聊天工具,具体是采用P2P模式实现用户之间的通信,然后阐述本软件的功能、特点及使用方法,并详细阐述开发本软件所用的相关技术,具体分析本软件的各个模块的功能及实现方法,说明本软件的设计思想及方法。1.3 聊天工具开发的现实意义局域网聊天工具,是在局域网内部使用的,用户之间用来交流的一个工具,一般都具有文本聊天和文件传输功能。局域网聊天软件因其使用简单,系统资源消耗少等优点,成为各企事业单位等的局域网内广泛应用的软件之一。当前的局域网聊天工具有很多,最有名的算IPMSG(飞鸽传书)。Ipmsg能

7、够实现局域网内消息、文件传递。但是,ipmsg 在某些时候,在同一vlan下的用户,能够彼此看见对方,却不能通信,因为其采用的是udp协议作为消息传递协议,而这种传输是不稳定的,所以有时候能看到对方的用户之间不能实现互相通信,怎么办呢?一种解决方法就是,采用tcp协议,面向连接的传输层协议作为消息传递协议,开发出相应的网络应用程序就能够实现彼此连接的双方进行信息的传递。随着互联网的不断发展,“互联网要担当起通讯大任”的声音不绝于耳。未来的电信业务将呈现多元化格局。同样是话音业务,可能是PSTN网络(传统电话网)提供的,可能是Internet提供的,还可能是有线电视网络,甚至电力网、煤气管道网提

8、供的。而用户的选择也将包括电脑与电脑、电脑与电话、电话与电话、电话与(智能)手机等通话方式。这一切,都是以IP为基础的通讯网络,而非传统通讯模式的电信服务。所以,VOIP将是聊天工具的一个发展方向。现有的局域网聊天工具,一般都不具备语音聊天的功能,本软件集成了语音聊天模块,用户可以通过此软件实现语音互通,提高局域网用户之间信息传递效率以及交流质量。通过开发本软件,可以了解当前流行的voip技术,练习socket编程,扩展知识面,锻炼编程的能力等,所以极具研究价值。2. 开发平台与相关知识简介2.1 系统综合要求2.1.1 硬件要求:PC机:2台或者2台以上,RAM256MB以上,CPU400M

9、HZ以上,硬盘40GB以上、耳麦各2副局域网2.1.2 程序运行环境:系统开发平台:Microsoft Visual C+ 6.0 ;MicroSoft .NET Framework 系统开发语言:C+运行平台:Window2000,Windows Xp,Windows Server 2003运行环境:Microsoft Visual C+ 6.0分辨率:最佳效果 10247682.2 C+ 简介C+这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C+是一种静态数据类型检查的、支持多重编程

10、范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。2.3 MicroSoft .NET Framework 简介NET Framework 是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌上型软件工程迈出的第一步。NET 包含许多有助于Internet和Intranet应用迅捷开发的技术。.NET 也为编程界面(API)提供了新功能和开发工具。

11、这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及元件和服务(web service)的开发。.NET 提供了一个新的反射性的且面向对象程序设计编程界面。.NET 设计得足够通用化从而使许多不同高级语言都得以被汇集。2.4 Microsoft DirectX SDK 简介SDK 是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做 “SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集即开发 Windows 平台

12、下的应用程序所使用的 SDK。SDK提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。由于SDK 包含了使用 API的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数。2.5 .NET与多线程技术多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程

13、是在同一时间需要完成多项任务的时候被实现的。在本质上和结构来说,.NET是一个多线程的环境。有两种主要的多线程方法是.NET所提倡的:使用ThreadStart来开始你自己的进程,直接的 (使用ThreadPool.QueueUserWorkItem)或者间接的(比如Stream.BeginRead,或者调用 BeginInvoke)使用ThreadPool类。线程的基类是System.Threading。所有线程通过CLI来进行管理。2.6 C/S结构与WINDOWS SOCKETS网络编程通常的通信工具,都采用客户机/服务器(C/S)体系结构,C/S结构是这样的一种结构:它包括一个客户机(

14、或前端),一个服务器(或称后端),客户机的作用是访问和处理远程服务器上的数据,服务器的作用是接收和处理客户机的数据请求。有时,可能有多个客户向同一个服务器同时请求服务,这就需要服务器决定怎样处理这些请求。Client/Server结构是当前数据库应用程序中极为流行的一种方式。尤其是网络技术的发展,使得当前很多系统都采用这种方式进行构造,其最大的优点是将计算机工作任务分别由客户端和服务器端来共同完成,这样有利于充分合理的利用系统资源。另外它的服务器端还可以将信息集中起来,任何客户机都可以通过访问服务器而获得所需的信息。Client/Server模型最终可归结为一种“请求/应答”关系。一个请求总是

15、首先被客户发出,然后服务器总是被动地接收请求,返回客户需要的结果。在客户发出一个请求之前,服务进程一直处于休眠状态。一个客户提出请求后,服务进程被“唤醒”并且为客户提供服务,对客户的请求做出所需要的应答,如图1所示。图1 客户机服务器通信结构示图为了方便Client/Server模型的网络编程,90年代初,由Microsoft联合了其他几家公司共同制定了一套WINDOWS下的网络编程接口,即Windows Sockets规范,它不是一种网络协议,而是一套开放的、支持多种协议的Windows下的网络编程接口。现在的Winsock已经基本上实现了与协议无关,你可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议。在IP连接领域有两种通信类型:面向连接的(Connection-oriented ) 和无连接的(Connectionless)。在面向连接的套接字中,使用TCP协议来建立两个IP地址端点之间的会话。一旦建立了这种连接,就可以在设备之间可靠地传输数据。为了建立面向连接的套接字,服务器端和客户端必须分别进行编程。在Sys

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号