基于局域网的即时通讯聊天室系统设计毕业设计论文1doc.docx
《基于局域网的即时通讯聊天室系统设计毕业设计论文1doc.docx》由会员分享,可在线阅读,更多相关《基于局域网的即时通讯聊天室系统设计毕业设计论文1doc.docx(37页珍藏版)》请在冰豆网上搜索。
基于局域网的即时通讯聊天室系统设计毕业设计论文1doc
本科毕业设计(论文)
题目基于局域网的即时通讯聊天室系统设计
部系
专业
学员
指导教员
基于局域网的即时通讯聊天系统的设计
摘要
随着计算机科学和Internet的飞速发展,网上聊天已成为人们相互交流的一种方式,与E-mail、电话相比,聊天服务更具有实时性和有效性。
本论文提出一个运行于VC平台上的局域网聊天软件的解决方案。
该聊天软件包括服务器端和客户端两个模块,客户端通过服务器端进行通信。
服务器端模块主要实现了服务器的配置和数据的传递;客户端模块主要实现了用户注册、登录、文字聊天等功能。
该软件采用异步套接字的非阻塞模式,并实现对象的序列化和MFC文件对象实现数据的保存。
该软件能够帮助企业在局域网内搭建起自己的聊天系统,避免企业内部员工使用类似QQ等软件泄露内部信息,但是该软件只实现了聊天的基本功能,还有很多不足之处需要改进。
关键字:
局域网、即时通信、套接字、异步模式
AninstantmessagingchatsystembasedofLAN
Abstract
Alongwiththehigh-speeddevelopmentofthecomputerscienceandInternet,chattingonlinehasbeenanimportantmethodinourcommunication.ComparingwithE-mailandtelephone,thechat-lineserviceismorereal-timeandeffective.
ThisthesisproposesasolutionofaLANchattingsoftwarebasedonC++language,whichisoperatedontheVCplatform.Thischattingsoftwareincludestwomodules:
theserverandtheclient,whichcancommunicatewitheachother.Theservermodulemainlycompletestheseverdevice’sconfiguration.Theclientmodulemainlycompletestheusers’login,registration,instantmessagingandsoon.Thesoftwareusedmodelofnon-blockingasynchronoussocket,AndtoachievetheobjectandMFCseriesdocumentsthepreservationoftheobjectdata.
Thissoftwarecanhelpthecompanytobuildtheirownchattingsysteminthelocalareanetwork,anditalsocanavoidthestaffofthecompanydisclosingtheinsiderinformationbyusingtheothersoftwaresuchasQQ,butthissoftwarehasonlycompletedthebasicfunctionasachattingsystem,soitneedmuchmoreimprovement.
Keywords:
LAN、Instantmessaging、Socket、asynchronousmodle
1概述
近年来,随着全球信息化进程的不断发展,网络也在飞速发展。
出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。
在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。
然而,随着企业规模的扩大,业务量的增加,企业内部的信息越来越私密,企业只希望员工通过内部局域网进行沟通与交流,避免企业内部机密通过Internet泄露到外部。
为了解决上述矛盾,人们提出了开发局域网聊天软件的构想,通过局域网聊天软件,企业员工可以随时的进行即时消息传递,召开网络会议等,有利于提高工作消息效率,同时又保护了企业内部信息的安全性。
本系统采用基于Socket的局域网通信工具的设计与实现的方法。
基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。
它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。
基于Socket的局域网聊天工具很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。
它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。
基于Socket的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。
1.1系统现状
基于局域网的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域网上的即时通信工具,如今一般采用UDP或者TCP协议体系来实现,开发技术已经比较成熟,比如较早的ICQ,MSNMessenger,Yahoo。
除了这些国外开发的产品,还有国产的有名的QQ,新浪UC,LAVA-LAVA等,这些工具统统都实现了广域网上的即时通信,尽管都是即时通信,实现了即时聊天,以及文件传输的主要功能,但是也各有各的特色,比如ICQ的巨大客户群,MSN的个性化表情,YAHOO通的易操作性等。
而QQ也具有一个相当方便的屏幕截图功能,另外就是,所有上述软件都实现了网络即时的视频,语音聊天功能。
这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不一定得知,但是它在大的方面无非就是各种利用各种平台上的网络通信接口,建构基于下层TCP/IP,或者UDP协议的软件产品。
1.2系统内容与目标
本课题主要研究的是局域网聊天软件,此聊天软件分为服务器程序和客户端程序,本课题的目标是能实现用户在客户端与服务器端传递文字信息。
主要研究开发内容是:
熟悉C++和VC的操作,搭配系统开发平台,探索在此开发平台下,利用socket编程技术、多线程开发技术、TCP、UDP协议等进行局域网聊天软件的实际开发。
1.3系统综述
现在,多渠道的信息源、网络化的数据分布、快捷医用的交互操作、智能化的分析决策等特点越来越成为衡量有两聊天软件的关键,因此,本人开发一个局域网聊天软件,该聊天软件是基于C++语言运行于VC平台上,利用的技术主要是Socket通信,使用配置文件作为数据管理。
为实现和方便客户端间通信,在客户端进行了人性化的界面设计,用户可以注册号码,登陆界面,具有发送离线消息功能。
第1章对本次课题的背景及意义、课题现状、课题内容与目标进行了深入的阐述。
第2章介绍了系统的开发环境和关键技术,例如Socket编程技术,非阻塞开发模式等等。
第3章是系统分析与设计。
将对系统进行需求分析,对组成系统的功能模块进行划分,对每个模块将要实现的功能进行阐述和说明。
对系统的结构进行设计,设计共享数据结构。
第4章是系统实现,分别介绍了服务器端和客户端每个功能的执行过程,画出主要模块的流程图。
第5章介绍系统测试。
最后,对本设计进行归纳总结,全面阐述本次设计中的体会。
2系统开发环境和关键技术
2.1开发环境
我所设计的是一个面向中小型机构内部通信需求的局域网即时信息软件,要在短时间内开发出来并且要满足客户要求,无论是硬件还是软件都要选择合适,要求如下:
开发设备应该完备;开发机器的性能必须稳定;操作系统的选择应该适当;开发出的程序可以在尽可能多的平台上运行;要求运行机配置尽可能低档。
对此,我们选择的硬件环境和软件环境如下:
1、硬件环境
·处理器:
IntelPentiumPIII或更高处理器
·内存:
256MB或更高
·网络:
局域网
开发该系统应尽可能采用高档的硬件。
因此,在应用时应采用更好的配置。
2、软件环境
·操作系统:
Windows2000/WindowsXP/Windows2003
·开发平台:
MicrosoftVisualC++6.0
·开发语言:
C++
2.2关键技术
2.2.1.VisualC++和面向对象程序设计
VC基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在Windows平台无所不能。
从20世纪70年代第一次提出面向对象的概念开始,到现在面向对象技术发展成为一种比较成熟的编程思想,通过面向对象技术,可以将现实世界直接影射到对象空间,从而为系统的设计和开发带来革命性的影响。
VisualC++是一个典型的面向对象程序的设计语言,它也是目前为止功能最强、最受欢迎、应用最广泛、高效的Windows应用程序开发工具,它是在C语言基础之上发展起来的,是C语言的超集。
VisualC++是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。
因此VisualC++又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。
VisualC++具有的优点:
提供了面向对象的应用程序框架MFC(MicrosoftFoundationClass),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、ClassWizard、VisualStudio、WizardBar等,实现了直观、可视的程序设计风格,方便地编和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作。
2.2.2MFC
MFC,微软基础类(MicrosoftFoundationClasses),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinDOS下开发人员使用的专业C++SDK(SDK,StandardSoftWareDevelopKit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:
C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库