即时通讯系统的设计与实现.doc
《即时通讯系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《即时通讯系统的设计与实现.doc(47页珍藏版)》请在沃文网上搜索。
1、摘 要即时通讯软件是目前计算机用户进行交流最普遍的方式之一,各种各样的聊天软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。即时通信中最基本的功能就是通过计算机之间的文本数据的互换的形式实现思想的交流和沟通,它的优点是方便快捷,为人们之间创建了一种新型的、廉价的、快速的、简便的沟通方式。本文分析了即时通讯系统的原理及其实现过程,探讨了Socket技术与多线程技术在C/S模式下的局域网即时通讯系统的应用。本毕业设计就是模拟 QQ 聊天软件,开发一个包括文字聊天、文件传输等功能的聊天软件。系统主要采用C/S架构、C#编程语言、.NET开发平台、UDP通信协议以及Socket等技术来完成。
2、主要实现的功能有注册、登录、聊天、发送表情以及文件传输等功能。系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器、应用程序服务器端、应用程序客户端,按照此设计思想,可以将任务合理分配到客户机端和服务器端 ,从而降低了系统的通信开销。此系统共分为两个模块:客户端模块和服务器端模块。通过运行、测试与分析,该多功能聊天软件运行稳定、可靠,具有一定的实用价值。关键词:即时通讯;Socket; UDP; C#AbstractInstant messaging software is currently one of the most common computer users
3、 to communicate the way, a variety of chat software also emerge in an endless stream; the service provider offers more and more communication services. Instant communication is the most basic function is the text data by computer are realized in the form of the exchange of ideas and communication, i
4、t has the advantage of convenience, as a new, cheap, fast, convenient way to communicate to create among the people. This paper analyzes the principle of instant communication system and its realizing process, discusses the application of Socket network technology and multithreading technology in C/
5、S mode of instant messaging system. This graduation design is to simulate the QQ chat software, the development of a text chat, file transfer and other functions of the chat software. The system mainly uses C/S architecture, C# programming language,.NET development platform, UDP protocol and Socket
6、technology to complete. The main function of registration, login, chat, send expression and file transfer functions. The system uses a client / server (C/S) mode design, is a three layer C/S structure, database server, application server, client application program, according to the design idea, the
7、 system uses the C/S structure, the rational allocation of tasks to the client side and server, which reduces the communication overhead system. This system consists of two modules: the client and server end module. Through testing and analysis, operation, this multi-function chat software is stable
8、, reliable, and has a certain practical value.Key words: Instant Messager; Socket; UDP; C#目 录摘 要IAbstractII第一章 绪 论11.1 即时通信系统的概念11.2 国内外即时通讯的研究现状11.3 本课题的意义与主要工作内容21.4 论文的组织结构2第二章 需求分析和可行性分析32.1 需求分析32.1.1 系统包含的功能32.1.2 功能模块32.2 系统可行性分析52.2.1 经济可行性分析52.2.2 人力可行性分析52.2.3 技术可行性分析52.3 开发环境和相关技术介绍52.3.1
9、 开发环境52.3.2 Microsoft Visual Studio 2010介绍62.3.3 .NET平台62.3.4 C# 语言简介62.3.5 Socket 技术62.3.6 TCP/IP 协议62.3.7 Client/Server 结构(客户端/服务器模式)72.4 本章小结7第三章 数据库设计83.1 SQL Server数据库介绍83.2 理论基础83.3 数据库E-R图93.4 数据库设计93.4.1 数据库逻辑设计93.4.2 数据库物理设计103.5数据库关系图103.6 本章小结10第四章 详细设计114.1 多线程设计114.2 服务器的设计124.3 数据库连接14
10、4.4 主要功能模块介绍154.4.1 用户注册154.4.2 用户登录184.4.3 用户聊天224.4.4 添加好友234.4.5 删除好友254.5 本章小结26第五章 重难点分析及解决方案275.1 服务器监听设计275.1.1 服务器端监听分析275.1.2 核心代码展示275.2 用户注册285.3 用户登录295.4发送表情与发送文件305.5 获取好友列表335.6 本章小结34第六章 系统测试与发布356.1 系统测试356.1.1 测试目的356.1.2 系统测试常用方法356.1.3 测试结果356.2 系统发布376.3 本章小结37第七章 系统的不足与展望387.1
11、系统的不足387.2 系统的展望387.3 本章小结38结 论39参考文献40致 谢41III第一章 绪论第一章 绪 论1.1 即时通信系统的概念即时通讯(Instant Messenger,简称IM),是指能够即时发送和接收互联网消息等的业务。自1998年面世以来,特别是近几年的迅速发展,即时通讯的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通讯不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。是一种终端连网即时通讯网络的服务。即时通讯不同于e-mail在于它的交谈是即时的。大部分的即时
12、通讯服务提供了状态信息的特性显示联络人名单,联络人是否在在线与能否与联络人交谈。 近年来,随着无线通信的快速发展,移动互联网为传统的Internet注入了新的活力,同时也为即时通讯带来了一场革命,交互双方已经不再局限于以网络终端设备为唯一的接入手段,PC机在传统的网络即时通讯中所起的作用正在被手机、平板电脑所取代。这使得即时通讯更加大众化和人性化,即使不会使用电脑的人现在也可以享受到即时通讯给人们带来的变化。纵观即时通讯软件业的迅速发展,设计并开发一个即时通讯平台,对于现阶段的学习和研究,都是极为有意义的,基于这个前提和起因,我选择了设计即时通讯系统作为我的毕业设计。1.2 国内外即时通讯的研
13、究现状从商业研究的方面看,即时通讯软件从最初的免费政策,到逐渐挖掘和整合创新多种盈利模式,即时通讯市场收入逐步扩大,而为企业用户提供商务即时通讯的一整套解决办法将成为未来即时通讯企业角逐的热点和盈利的新空间1。即时通讯运营商的盈利模式包括互联网增值服务、无线网增值服务、广告服务和企业即时通讯服务。以前,即时通讯运营商的盈利方式还仅局限于互联网即时通讯增值业务,但是随着市场的发展和功能的开发,无线网络增值业务和广告业务更多的参与到运营商整体收入中来2。从学术化的即时通讯研究方面看,国内外公开发表的论文非常少3。仅有的几篇集中在即时通讯基本服务元素的定义方面4与即时通讯软件技术实现、编程技巧等方面
14、5。还有部分关于安全性的讨论6。总的说来,国内外关于即时通讯的研究还不够系统和深入。1.3 本课题的意义与主要工作内容聊天软件作为使用最为广泛的即时性通讯工具,它在拥有文字聊天基础功能的同时,为满足用户的需求,还增加了文件传输的功能,成为现在最为主流的网上应用软件。本论文主要对聊天软件的文字聊天、文件传输功能进行分析与研究,总结出实现的相关理论与知识。本课题主要研究内容包括以下几个方面:(1) 查找相关书籍与文献,了解C/S构架并搭建.NET开发平台(2) 查找相关资料,学习C#开发语言以及SQL Server数据库的使用,(3) 查找现阶段基于局域网的即时通讯软件的发展现状以及相关功能(4)
15、 Socket编程技术在上述基础上,做出即时通讯软件的相关功能如下:(1) 用户注册功能(2) 用户登录功能(3) 添加好友功能(4) 添加分组功能(5) 删除好友功能(6) 删除分组功能(7) 移动好友到指定分组功能(8) 即时聊天功能(9) 文件传输功能1.4 论文的组织结构第一章:绪论。第二章:需求分析和可行性分析,分析了系统的需求和系统实施的可行性。第三章:数据库设计,介绍了本系统所使用的数据库、数据库的设计、数据库E-R图以及数据库关系图。第四章:详细设计,本章主要进行了系统的模块设计,包括多线程设计、服务器设计、 数据库连接以及阐述系统各功能模块。第五章:重难点分析及解决方案,本章
16、着重分析了本系统的重难点及其解决方案。第六章:系统测试与发布,本章主要介绍了系统测试的环节、展示了测试的结果以及系统的发布。第七章:系统的不足与展望,主要陈述了本系统存在哪些不足的地方以及对系统的展望。 43第二章 需求分析和可行性分析第二章 需求分析和可行性分析2.1 需求分析此次开发的网络聊天工具可作为企业局域网的交流工具使用,通信的安全性不是很高,但要求信息的响应速度要较快,让用户充分享受到网络即时消息的方便和快捷。本聊天工具由服务器端程序和客户端程序两部分组成,整体采用.NET平台开发,采用UDP通信协议,使用Socket技术。服务器是可以进行监听,记录客户端请求和验证客户端身份的合法
17、性,客户端程序面向实际用户,它有必要的界面的按钮,向用户提供网络即时消息的功能。2.1.1 系统包含的功能本聊天系统需包含如下基本功能:(1) 客户端的主要功能:l 用户注册l 用户登录l 添加好友l 获取好友列表l 与好友聊天l 发送表情功能l 文件传输(2) 服务器端的主要功能:l 启动服务l 建立连接l 监听客户请求2.1.2 功能模块聊天工具由服务器端和客户端组成,要分析清楚两方面所要完成的任务,对设计来说,等于完成了一半。根据聊天的通信步骤,系统的功能模块如图2-1所示。(1) 服务器端服务器端完成3大功能:建立连接、断开连接、监听客户请求。这3大功能的具体含义如下:l 建立连接:系
18、统启动时建立连接,绑定本地计算机的一个端口,不断地监听是否有客户端请求连接或者断开连接。l 断开连接:停止监听,系统断开连接。l 监听客户请求:服务器端是个信息枢纽,所有向服务器端请求的客户端的信息都要传到服务器端,再由服务器根据客户端的请求按要求分发出去,客户端再向服务器端发送各种请求,如:登录,发送消息,获取好友列表等。即时通讯系统客户端服务器用户注册用户登录添加好友获取好友列表与好友聊天发送表情功能文件传输启动服务停止服务监听客户请求图2-1 系统功能模块图 (2) 客户端客户端完成以下几大功能:用户注册、用户登录、添加好友、聊天功能、发送表情、文件传输功能。l 用户注册:客户端与服务器
19、建立通信通道,服务就收客户端的注册请求。通过系统的注册界面,输入账号和密码,完成注册。l 用户登录:客户端与服务器建立通信通道,随时接收来自服务器的监听。通过系统的登录界面,输入账号和密码,然后发送到服务器进行验证。如果验证通过,服务器则返回用户的好友信息。l 添加好友:用户在登录系统之后可以添加好友。l 聊天功能:客户在与好友建立通信连接后,便可以与好友进行聊天,聊天时发送的是文本信息。l 发送表情功能:与好友聊天时,可在文本信息中插入表情。l 文件传输:用户之间可以相互传送文件以实现文件共享。2.2 系统可行性分析可行性分析(Feasibility Analysis)也称为可行性研究,是在
20、系统调查的基础上,针对新系统的发开是否具备必要性和可能性,对新系统的开发从各方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。2.2.1 经济可行性分析基于局域网、C/S架构的即时通讯系统在很多资料上都能找到,包括书本和网络上都有很多类似的系统,开发这样一个系统所需要的花费不是很大,需要的开发工具、需要的软件等都可以在网上找到试用版,不需要购买,所以不需要花费太多金钱,在经济上完全能够完成本系统的设计。2.2.2 人力可行性分析完成本系统不需要太多的人力资源,有老师和同学的帮助,也可以在网上找到与本系统相关的很多资
21、源,在人力资源上能够完成本系统的设计。2.2.3 技术可行性分析基于.NET的即时通讯软件,实现一般通讯软件的基本功能(登录,聊天,退出),没有十分复杂的其他功能,如:登录、添加好友、与好友聊天、传输文件等基本的功能,这些都能够运用所学的知识实现。本系统使用的编程语言是C#语言,所使用的平台是.NET平台,对于VS2010的使用还是比较熟悉。在校已学习过C#编程。完成这个通讯软件的基础知识大都已经具备,同时,在网上也可以找到许多资料,如CSDN、看雪论坛等能够查到许多开源源代码,自己能够充分运用这些网络资源,完成这个毕业设计。2.3 开发环境和相关技术介绍2.3.1 开发环境本设计是一个局域网
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
15 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 即时通讯 系统 设计 实现