基于CS架构的网络聊天室设计与实现(共52页).docx
《基于CS架构的网络聊天室设计与实现(共52页).docx》由会员分享,可在线阅读,更多相关《基于CS架构的网络聊天室设计与实现(共52页).docx(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上课题:基于C/S架构的网络聊天室设计与实现院 (系): 计算机工程系 专 业: 计算机科学与技术(软件工程)班 级: 学生姓名: 学 号: 指导教师: 2014年 05月10日专心-专注-专业摘要互联网聊天服务系统与传统的电子邮件和电话交谈相比,是更有效的,实时的和快速的。随着计算机科学与技术和Internet (互联网)的飞速发展, 各种网络聊天工具已成为人们相互学习交流沟通的一种方式。这个程序采用软件工程的开发方法,结合使用了网络技术、以及程序设计技术,并使用Visual C+ 6.0作为开发工具,使用TCP / IP协议下的一个套接字连接局域网聊天室的开发。这个
2、网聊天室采用传统的客户端与服务器(C/S)架构和TCP连接方法实现的,它是由客户(C)端和服务器(S)这两个模块组成的一个系统。聊天室的服务器模块的作用主要是用来维护网络上与用户的信息有关的服务,如用户的登录,消息的转发,用户的信息,用户退出等,聊天室的客户端模块主要包括用户的注册、登录、发送私聊信息、群发消息、接收别人的信息、在线用户列表等。使用结构化的方法编译整个工程,逐步完善整个系统的各个功能。系统采用套接口(CSocket)实现客户端与服务器的链接。这个聊天室系统不仅提供基本的聊天功能,还添加了一些使用的功能,比如注册用户、验证登陆、发送文件和私聊等。聊天室系统通过测试其操作简单并且灵
3、活性好而且运行稳定。关键词语:MFC;套接字;TCP通信;聊天室; ABSTRACTNetwork chat service system compared with the traditional E-mail and telephone, chat is the more efficient, real-time with effective. With the quickly development of the computer science and the technology and the rapid development of the Internet (Internet)
4、, all kinds of network chat tool has become a way of people to learn from each other communication. This program USES the development method of software engineering, jion with the network programming technology, and technology, using Microsoft Visual c + + 6.0 as developmenting instrument, using the
5、 TCP/IP protocol under a socket connection for the development of LAN chat room.The network chat room USES traditional client and server (C/S) architecture and TCP connection method, it is by the customer (C) the client and server (S) of the two modules of a system. The role of the chat room server
6、module is mainly used to maintain the network with the users information services, such as user login, the forwarding of a message, the users information, the user exit, such as chat room client module mainly includes the user register, login, private chat messages, mass message, receive other peopl
7、es information, such as online user list. Structured method is used to compile the whole project, the various functions of the whole system to consummate gradually.System USES set of interface of the client and the server (CSocket links. This chat room system not only provides the basic chat functio
8、nality, Also added like something functions, such as user registration, verify and send the file and private chat, etc. Chat room system by testing its easy operation and good flexibility and stable running.Key word : MFC and The socket and TCP communications and Chat rooms;目 录第一章绪论如今的科技使网络技术越来越发达,人
9、们使用网络也越来越频繁,从而使人们对网络的依赖不断的上升,出现了越来越离不开网络网络的情况,因此产生的聊天工具软件也玲琅满目,比如如,国外的MSN、ICQ,国内的YY语音和腾讯公司开发的微信与QQ等。由于VC+网络编程技术的功能非常强大,所以我的毕业设计选择使用VC+6.0为开发平台开发一个聊天系统软件。这个系统建立在微软的VC+6.0平台上,设计系统时不仅使用了C+的面向对象设计技术的(OOD)而且还面向对象的编程(OOP)原则。这个系统采用传统的客户端/服务器(C/S)结构模型来进行开发,并且客户端和服务器、客户端和客户端之间的通信通过套接口(CSocket)进行的。使用C/C+语言开发,
10、采用的开发工具为微软的VC+6.0。第一节论文的目的和意义最近这写年来以来,随着全球信息技术在不断的飞速发展当中,并且互联网同时也处于快速发展之中。出于经济、快速、有效地处理各种各样的问题,使用局域网已成为很多企业的优先选择。在局域网这个平台的帮助下,使企业的信息化流程越来越简单了,而且人与人之间的信息交互加快了,从而提高了每个员工的工作效率。但是随着各个企业规模的不断发展并扩大,业务量也跟着不断的处于上升阶段,从而造成企业内部信息越来越机密越来越贵重,一旦泄露将造成不可估量的损失,从而使企业只让员工通过使用局域网进行工作的沟通、交流与学习,从而达到避免企业内部商业秘密通过互联网这个网络(In
11、ternet)流入到竞争对手或者商业间谍那里去,造成不必要的损失。为了解决企业与互联网之间的矛盾,各个企业提出了开发只能在公司里面使用的聊天软件的构想,通过开发局域网聊天软件能达到企业的目的,使用局域网聊天软件企业员工不仅可以随时的发送和接收即时消息,而且还可以使用局域网召开会议进行网络交流等,不仅可以提高企业员工的效率同时又对企业的内部信息进行了保密工作措施,从而最大化避免商业信息泄露。随着市场经济的不断发展,用户对软件的功能需求也越来越高,需求量也越来越大,从而促进了即时通讯的网络产品也不断地进行换代更新,像浪花一样一波又一波的向前推进。网络即时通讯软件不论是在它的基础应用聊天这方面还是在
12、扩展应用方面的文件发送语音聊天方面的发展都有着很大的进步。为了各种使用人群的需求,包括移动公司的聊天软件飞信在内得各种即时通讯软件,这些软件呢都推出了包括视频聊天、语音聊天的功能模块方便大家交流。我的这个课题是基于局域网聊天软件,用C/C+编写的应用程序,程序完成基本的文字聊天模块,可作为一个简单局域网聊天工具。这个统采用了基于网络编程技术套接口(CSocket)的方法开发并实现了基于局域网聊天的功能,基于局域网软件通信产品很多都是使用套接口(CSocket)实现的,这种软件产品在局域网中使用可以有效的为企业提供一种实时,安全,优良,的信息传递机制。实现它的功能难度不是很大并且不必要对企业局域
13、网硬件做任何的更新或改动从而为企业减少了很多麻烦,并且这个软件具有实现低成本的优势和条件,它的使用不尽能有效地降低局域网消息传递的负载量而且传递速度快,从而能提高局域网使用的效率,可以很好完成企业对于局域网通信的需求,使企业很好的进行日常事务的处理,进而提高企业工作效率。 基于套接口(CSocket)的局域网聊天软件很好地解释了套接口(CSocket)信息传递的原则,并且在企业的实际应用中都具有很高的价值。局域网聊天软件的信息发送和接收的速度,带宽低,安全性好,服务器容量较低,易于编程等优点。基于套接口(CSocket)的局域网通信软件使用的人群非常广,即可以处理一般的文字通信,又能扩展使其适
14、应新兴的网络应用软件,如影音数据传输网络教育等,这些应用都有广泛的前景。 局域网的即时信息传递软件大多数都是采用UDP或者 TCP协议来完成信息传递的,这项技术已经非常成熟。UDP是一种实时的通信协议,但是传输的数据是不可靠的,可能又会数据的丢失,TCP是一种可靠的通信协议,数据传递是有链接的可靠的。我的这个课题就是采用TCP通信协议完成的一个局域网聊天室的软件程序。第二节国内外研究现状当今世界范围内各种聊天室系统软件的公司很多,产品也各种各种各具特色,不过大体都已聊天为中心扩展其他功能,在我们国家有YY、QQ、网易泡泡、新浪UC、默默等产品,国外的有ICQ、Skype、MSN、Faceboo
15、k等。在这里我主要取用户最多的两个产品进行研究,国内的为腾讯公司的QQ,国外的为微软MSN,作为开发即时通讯软件的系统的一个模板。QQ作为国内即通信软件其市场占有率一直无人人能及,自腾讯公司1999年闯入即时通讯领域之后,它迅速占领了国内市场,并且使国内用户一直都是处于最多的状态,没有一丝一毫的动摇迹象。虽然这几年微软的MSN在我国有发展壮大的趋势,但是腾讯QQ的用户量依然在逐步增长中。腾讯的即时通讯软件产品的成功是来源于它对QQ这个通信软件的不断更新不断完善从而使QQ一直被使用者称好,这也算QQ这款软件成功的基本原因。通过阅读许多网络上的书籍,以及自己使用MSN、QQ、YY等通讯软件。可以肯
16、定的是腾讯的QQ微软的MSN等都是多个服务器同时服务,服务器控制客户端与客户端之间使用UDP协议进行通信。在两个客户端之间不能建立正常连接的情况下腾讯QQ使用用服务器进行消息的中转以达到通信的目的。图1.1 是我们经常使用的QQ聊天软件的客户端-服务器模MSN与腾讯QQ不同的是他们使用协议的不同,微软的MSN是使用TCP协议作为传输层通信协议,而QQ使用的UDP作为传输层得通信协议,服务器与所有的登陆在线客户端进行链接,并通过服务器进行消息的中转实现客户端与客户端之间的消息传递。图1.2 微软的MSN客户端-服务器模型从腾讯QQ的系统模型中我们可以观察到的是,服务器的作用是处理客户端的传递过来
17、的各种状态的请求并进行相应的处理响应,从而达到服务器的压力将到最小值,但是它还是存在着一些缺点,就是服务器客户端之间的的协议和功能实现都比较复杂。然而微软的MSN一切数据都要进过服务器中转,由此可知道服务器承受的压力是多么的大(所以平时使用MSN进行语音视屏聊天很少)。上面的软件都实现了在互联网上的即时信息传递,在使用方面都具有自己独特的一面,软件的开发方式也各不相同,但中心思想一致。伴随着社会的发展企业的扩大,营业额的上涨,各个企业的竞争也越来越激烈,所以企业内的商业信息也越来越机密,为了保护商业机密企业只希望员工通过局域网进行工作的商讨交流与资源的共享,从而避免企业内部商业秘密通过互联网(
18、Internet)泄露到竞争对手手里,从而使局域网的聊天软件也隐藏着很大的用户市场资源。第三节 论文的主要内容这个课题主要研究的主要方向是使用C/C+语言进行的局域网聊天室软件的开发,该聊天室软件开发过程中采用的是精典客户端/服务器架构和TCP协议的有链接连接方法,完成用户在客户端与客户端间传递文字信息功能。完成它的功能实现必须要两个程序:一个是用于消息转发的服务器端程序和另一个是用户间交流的客户端程序,调试程序时首先必须要启动服务器等待客户端消息的请求做,服务器需要一个固定的端口号和一个固定的IP地址使客户端能连接到固定IP地址的服务器并向固定端口发送消息,当客户端与服务器链接时,用户需要注
19、册一个用户名,但是如果用户名已经被其他已经登录过的客户端注册,服务器就会发送信息告诉客户端用户已存在,要求重新注册。当用户注册成功后可以使用账户进行登录,登陆之后客户端之间可以通过发送文字信息进行聊天或信息交互。服务器模块主要是显示用户信息消息的转发,和用户登录退出的提示;客户端的模块主要是文字消息的发送和接收达到聊天的目的,还有文件的发送和接收,在线用户列表的头像和名字显示,老用户的登录和新账户的注册。研究这个课题的前提的必须有一定的C/C+语言基础,并熟练运用VC+6.0开发平台,利用套接口(socket)网络编程技术并且结合TCP网络协议进行这个局域网聊天软件开发工作。在这里我选择TCP
20、协议却没有选UDP协议是为了保证可靠的信息传递,TCP与同于UDP协议不同的是,TCP协议往往要求在进行可靠连接后才进行信息的传递。第一章主要论述了论文的目的和意义,展示了主要的内容和简单的介绍。第二章主要说明了聊天系统在国内外的发展具体状况,和主流的及时通信软件产品,并且将国内外使用最多MSN聊天软件和国内使用最多QQ都做了简单的介绍并进行了一些简单的对比,以加深我们对及时通信软件的认识。第三章主要说明了这个软件所需要到的软件开发语言极其使用平台,和简单描述了套接字(CSocket)的发展历程。第四章介绍了整个系统的设计和和各个模块的作用极其功能。第五章详细分析了如何实现各个功能极其作用。第
21、六章对设计过程中可能出现的问题进行可行性分析与总结,分析了整个软件的优点和缺点,并对日后软件的完善埋下了伏笔。 第二章 开发环境及编程语言的介绍第一节 Visual C+6.0可视化开发环境Microsoft Visual C+ 6.0是一款可视化编程工具它是微软出品的,它使用的范围非常广阔。Microsoft Visual C+ 6.0这个软件开发平台是由很多部分组成的,它包含一个项目生成工具和一个增量连接器和文本编辑器和资源编辑器和一套在线文档和源代码浏览器,以及集成的调试工具。使用Microsoft Visual C+ 6.0这个开发平台,可以对程序进行各种繁杂的操作,例如程序新建,删除
22、,修改,编译,调试,运行等。Microsoft Visual C+ 6.0开发平台采用传统的多窗口多任务Windows用户界面方便大家学习使用这个平台,也降低了平台使用的复杂度,不仅这样Microsoft Visual C+ 6.0开发平台还添加了一些独特的个性化的特征使用方式,从而使开发环境简单易用方便,是我们很快就能学会并且熟练运用。基于Microsoft Visual C+ 6.0的原始身份是一个可视化编程的软件开发平台,在介绍Microsoft Visual C+ 6.0的每一个不可或缺部分之初,大家应当了解一下可视化编程是一个怎么样的过程。可视化编程技术是目前IT界发展最快并且最引人
23、眼球的,它吸引人的地方表现在它能把一些抽象的东西用图像、图形的方式展现给大家。它的应用之一可视化编程。我们所将的可视化编程,指的是程序员在开发软件的时候,用我们肉眼可以观察到的具有一定特殊意义的图形,图标,按钮来替换以前我们手动的制作、浏览、运行这些繁杂的操作,使我们从繁重的软件开发表现出来给大家的映像就是按钮的拖拽图形化对象的设置,鼠标的点击以及特定对象的表现出特定属性以及行为的过程和方法,使其体现出可视化编程的最大优点易学易用,效率高。第二节 网络编程20世纪80年代初期,美利坚政府下的高级工程研究机构颁给加利福尼亚大学BERKELEY分校一比研究经费,目的是让加利福尼亚大学研究出在LIN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CS 架构 网络 聊天室 设计 实现 52
限制150内