本科毕业设计论文题目 基于局域网的即时通讯聊天室
部系__________地方生咅B________专业__________电子信息工程_________精品文档知识共享!
基于局域网的即时通讯聊天系统的设计
随着计算机科学和In ternet的飞速发展,网上聊天已成为人们相互交流的一种方式与E-mai l、电话相比 聊天服务更具有实时性和有效性。
本论文提出一个运行于VC平台上的局域网聊天软件的解决方案。该聊天软件包括服务器端和客户端两个模块客户端通过服务器端进行通信。服务器端模块主要实现了服务器的配置和数据的传递 客户端模块主要实现了用户注册、 登录、文字聊天等功能。该软件采用异步套接字的非阻塞模式并实现对象的序列化和MFC文件对象实现数据的保存。
该软件能够帮助企业在局域网内搭建起自己的聊天系统 避免企业内部员工使用类似QC等软件泄露内部信息但是该软件只实现了聊天的基本功能还有很多不足之处需要改进。关键字局域网、即时通信、套接字、异步模式
精品文档知识共享!
An instant messaging chat system based of LAN
Abstract
Along with the high-speed development of the computerscienee and Internet,chatt ing on l ine has bee n an importa nt method in ourcom muni catio n.Compari ng with E-mai l and teleph one, the chat-l i ne service is more real-timeand effective.
This thesis proposes a solution of a LAN chatting software based on C++Ianguage,which is operated on the VC platform.This chatting software includes two modules: the server and the cl ie nt,which can com muni cate witheach other.The server module mainly completes the sever device sconfiguration.The cl ient module mainly completes the users'login, registration,instant messaging and so on.The software used model of non-blockingasynchronous socket ,And to achieve the object and MFC series docume ntsthe preservati on of the object data.
This software can help the company to bui ld their own chatting system inthe local area network,and it also can avoid the staff of the companydisclosingthe insider information by using the othersoftware such as QQ,but thissoftware has only completed the basic function as a chatting system,so it n eedmuch more improveme nt.
Key words LAN、 Instant messaging Socket、 asynchronous modle精品文档知识共享!
摘要-----------------------------------------------------------------------------------------------------I I
Abstract-----------------------------------------------------------------------------------------------I I I
1概述-----------------------------------------------------------------------------------------------------------1
1 .1系统现状--------------------------------------------------------------------------------------------------------------1
1 .2系统内容与目标------------------------------------------------------------------------------------------------------2
1 .3系统综述----------------------------------------------------------------------------------------------------------------2
2 系统开发环境和关键技术-----------------------------------------------------------------------------3
2.1开发环境----------------------------------------------------------------------------------------------------------------3
2.2关键技术----------------------------------------------------------------------------------------------------------------3
2.2.1 .Visual C++和面向对象程序设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
2.2.2MFC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.2.3 WINDOWS SOCKETS^编程接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.2.4 WSAAsyncSelect模型开发. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.2.5 TCP/IP协议、 TCP协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.2.6 Cl ient/Server结构客户机/服务器模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3 系统分析与设计------------------------------------------------------------------------------------9
3.1 系统分析------------------------------------------------------------------------------------------------9
3.1 .1 系统需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.1 .2 需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
3.2系统设计---------------------------------------------------------------------------------------------------11
3.2.1 设计原则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1
3.2.3 工作流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3.2.4 功能设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3.2.5共享数据类设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
4 系统实现------------------------------------------------------------------------------------------16
4.1服务器端设计实现---------------------------------------------------------------------------------------16
4.1 .1 服务器端静态类图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
4.1 .2 服务器主要类介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
4.1 .3 服务器端主要过程介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
4.2客户端设计实现-----------------------------------------------------------------------------------------25
4.2.1 客户端静态类图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4.2.2 客户端主要类介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4.2.3客户端主要过程介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
4.3系统测试---------------------------------------------------------------------------------------------------32
精品文档知识共享!
4.3.1 测试意义---------------------------------------------------------------------------------------------32
4.3.2软件测试的目标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
精品文档知识共享
4.3.2 软件测试的方法---------------------------------------------------------------------------------------------------32
4.3.3 测试用例------------------------------------------------------------------------------------------------------------33
总结与展望--------------------------------------------------------------------------------------------34
致谢----------------------------------------------------------------------------错误未定义书签
参考文献-----------------------------------------------------------------------------------------------36
精品文档知识共享!
近年来随着全球信息化进程的不断发展 网络也在飞速发展。 出于高效、快速地处理各种事务的目的越来越多的企业在其内部使用局域网来进行工作。 在内部局域网的帮助下企业得以简化信息流程提高信息交换的速度从而提高工作效率。然而随着企业规模的扩大业务量的增加企业内部的信息越来越私密企业只希望员工通过内部局域网进行沟通与交流避免企业内部机密通过 In ternet泄露到外部。为了解决上述矛盾人们提出了开发局域网聊天软件的构想通过局域网聊天软件企业员工可以随时的进行即时消息传递 召开网络会议等有利于提高工作消息效率 同时又保护了企业内部信息的安全性。
本系统采用基于Socket的局域网通信工具的设计与实现的方法。基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好安全快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动 具有实现成本低廉的优点它的使用能有效地降低局域网通信负荷 提高局域网的使用效率可以很好地解决企业内部局域网的各种通信需求。
基于Socket的局域网聊天工具很好地诠释了Socket通信的原理并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快保密性好 占用网络带宽资源低 占用服务器吞吐能力低易于编程实现等优点。
基于Socket的局域网通信软件应用范围广阔不但可以处理传统的通信需求 而且也能扩展以适应新型的网络应用 如网络教育数据影音传输等拥有广泛的应用前景。
1 .1系统现状
基于局域网的即时通信工具实际上是互联网即时通信工具的一个小规模版本 广域网上的即时通信工具如今一般采用 UDP或者TCP协议体系来实现开发技术已经比较成熟比如较早的ICQ,MSNMessenger,Yahoc。除了这些国外开发的产品还有国产的有名的Q Q新浪U C,LAVA-L AVA?这些工具统统都实现了广域网上的即时通信尽管都是即时通信实现了即时聊天 以及文件传输的主要功能但是也各有各的特色 比如ICQ的巨大客户群M S N勺个性化表情YAH O通的易操作性等。而Q Q也具有一个相当方便的屏幕截图功能另外就是所有上述软件都实现了网络即时的视频语音聊天功能。这些软件在使用方面各有特色在实现方面也各有所长但基于这些产品正在商业运营阶段 其实现方式属于商业机密具体细节不一定得知但是它在大的方面无非就是各种利用各种平台上的网络通信接口 建构基于下层TCP/IP,或者UDP协议的软件产品。
精品文档知识共享
1 .2系统内容与目标
本课题主要研究的是局域网聊天软件此聊天软件分为服务器程序和客户端程序本课题的目标是能实现用户在客户端与服务器端传递文字信息。
主要研究开发内容是熟悉C++和VC的操作搭配系统开发平台探索在此开发平台下利用socket编程技术、多线程开发技术、 TCP UDP协议等进行局域网聊天软件的实际开发。
1 .3系统综述
现在多渠道的信息源、 网络化的数据分布、快捷医用的交互操作、智能化的分析决策等特点越来越成为衡量有两聊天软件的关键 因此本人开发一个局域网聊天软件该聊天软件是基于C++语言运行于VC平台上利用的技术主要是Socket通信使用配置文件作为数据管理。 为实现和方便客户端间通信 在客户端进行了人性化的界面设计,用户可以注册号码登陆界面具有发送离线消息功能。
第1章对本次课题的背景及意义、课题现状、课题内容与目标进行了深入的阐述。
第2章介绍了系统的开发环境和关键技术例如Socket编程技术非阻塞开发模式等等。
第3章是系统分析与设计。将对系统进行需求分析对组成系统的功能模块进行划分 对每个模块将要实现的功能进行阐述和说明。对系统的结构进行设计 设计共享数据结构。
第4章是系统实现 分别介绍了服务器端和客户端每个功能的执行过程 画出主要模块的流程图。
第5章介绍系统测试。
最后,对本设计进行归纳总结全面阐述本次设计中的体会。
精品文档知识共享!
近期联通CUVIP的线路(AS4837线路)非常火热,妮妮云也推出了这类线路的套餐以及优惠,目前到国内优质线路排行大致如下:电信CN2 GIA>联通AS9929>联通AS4837>电信CN2 GT>普通线路,AS4837线路比起前两的优势就是带宽比较大,相对便宜一些,所以大家才能看到这个线路的带宽都非常高。妮妮云互联目前云服务器开放抽奖活动,每天开通前10台享3折优惠,另外...
PhotonVPS 服务商我们是不是已经很久没有见过?曾经也是相当的火爆的,我们中文习惯称作为饭桶VPS主机商。翻看之前的文章,在2015年之前也有较多商家的活动分享的,这几年由于服务商太多,乃至于有一些老牌的服务商都逐渐淡忘。这不有看到PhotonVPS商家发布促销活动。PhotonVPS 商家七月份推出首月半价Linux系统VPS主机,首月低至2.5美元,有洛杉矶、达拉斯、阿什本机房,除提供普...
A400互联怎么样?A400互联是一家成立于2020年的商家,A400互联是云服务器网(yuntue.com)首次发布的云主机商家。本次A400互联给大家带来的是,全新上线的香港节点,cmi+cn2线路,全场香港产品7折优惠,优惠码0711,A400互联,只为给你提供更快,更稳,更实惠的套餐,香港节点上线cn2+cmi线路云服务器,37.8元/季/1H/1G/10M/300G,云上日子,你我共享。...