局域网基于局域网的即时通讯聊天室系统设计_毕业设计论文1.doc

popo聊天  时间:2021-01-30  阅读:()

本科毕业设计论文题目 基于局域网的即时通讯聊天室

系统设计

部系

____________________

专业

__________________

学员

_____________________

指导教员

_______________

I

基于局域网的即时通讯聊天系统的设计

随着计算机科学和In ternet的飞速发展,网上聊天已成为人们相互交流的一种方式与E-mai l、电话相比 聊天服务更具有实时性和有效性。

本论文提出一个运行于VC平台上的局域网聊天软件的解决方案。该聊天软件包括服务器端和客户端两个模块客户端通过服务器端进行通信。服务器端模块主要实现了服务器的配置和数据的传递 客户端模块主要实现了用户注册、 登录、文字聊天等功能。该软件采用异步套接字的非阻塞模式并实现对象的序列化和MFC文件对象实现数据的保存。

该软件能够帮助企业在局域网内搭建起自己的聊天系统 避免企业内部员工使用类似QC等软件泄露内部信息但是该软件只实现了聊天的基本功能还有很多不足之处需要改进。关键字局域网、即时通信、套接字、异步模式

I I

An instant messaging chat system based of LAN

Abstract

Along with the high-speed development of the computer scienee 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.

I I I

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

V

4.3系统测试--------------------------------------------------------------------------------------------------32

4.

4.3.3 测试用例-------------------------------------------------------------------------------------------------------------33

总结与展望---------------------------------------------------------------------------------------------34

参考文献-----------------------------------------------------------------------------------------------36

致谢----------------------------------------------------------------------------------------------------37

VI

近年来随着全球信息化进程的不断发展 网络也在飞速发展。 出于高效、快速地处理各种事务的目的越来越多的企业在其内部使用局域网来进行工作。 在内部局域网的帮助下企业得以简化信息流程提高信息交换的速度从而提高工作效率。然而随着企业规模的扩大业务量的增加企业内部的信息越来越私密企业只希望员工通过内部局域网进行沟通与交流避免企业内部机密通过 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

1 .2系统内容与目标

本课题主要研究的是局域网聊天软件此聊天软件分为服务器程序和客户端程序本课题的目标是能实现用户在客户端与服务器端传递文字信息。

主要研究开发内容是熟悉C++和VC的操作搭配系统开发平台探索在此开发平台下利用socket编程技术、多线程开发技术、 TCP UDP协议等进行局域网聊天软件的实际开发。

1 .3系统综述

现在多渠道的信息源、 网络化的数据分布、快捷医用的交互操作、智能化的分析决策等特点越来越成为衡量有两聊天软件的关键 因此本人开发一个局域网聊天软件该聊天软件是基于C++语言运行于VC平台上利用的技术主要是Socket通信使用配置文件作为数据管理。 为实现和方便客户端间通信在客户端进行了人性化的界面设计,用户可以注册号码登陆界面具有发送离线消息功能。

第1章对本次课题的背景及意义、课题现状、课题内容与目标进行了深入的阐述。

第2章介绍了系统的开发环境和关键技术例如Socket编程技术非阻塞开发模式等等。

第3章是系统分析与设计。将对系统进行需求分析对组成系统的功能模块进行划分 对每个模块将要实现的功能进行阐述和说明。对系统的结构进行设计 设计共享数据结构。

第4章是系统实现 分别介绍了服务器端和客户端每个功能的执行过程 画出主要模块的流程图。

第5章介绍系统测试。

最后,对本设计进行归纳总结全面阐述本次设计中的体会。

2

2系统开发环境和关键技术

2.1开发环境

我所设计的是一个面向中小型机构内部通信需求的局域网即时信息软件 要在短时间内开发出来并且要满足客户要求无论是硬件还是软件都要选择合适要求如下 开发设备应该完备开发机器的性能必须稳定操作系统的选择应该适当开发出的程序可以在尽可能多的平台上运行 要求运行机配置尽可能低档。 对此我们选择的硬件环境和软件环境如下

1 、 硬件环境

•处理器 Intel Pentium Pil l 或更高处理器

•内存 256MB或更高

•网络局域网

开发该系统应尽可能采用高档的硬件。因此在应用时应采用更好的配置。

2、 软件环境

•操作系统 Win dows 2000/Win dows XP/Win dows 2003

•开发平台 Microsoft Visual C++6.0

•开发语言 C++

2.2关键技术

2.2.1 .Visual C++和面向对象程序设计

VC基于C,C++语言主要由是MFC组成是与系统联系非常紧密的编程工具它兼有高级和低级语言的双重性功能强大灵活执行效率高几乎可说 VC在W i n d ows平台无所不能。从20世纪70年代第一次提出面向对象的概念开始到现在面向对象技术发展成为一种比较成熟的编程思想 通过面向对象技术可以将现实世界直接影射到对象空间从而为系统的设计和开发带来革命性的影响。 Visual C++是一个典型的面向对象程序的设计语言 它也是目前为止功能最强、最受欢迎、应用最广泛、高效的W i n d ows应用程序开发工具它是在C语言基础之上发展起来的 是C语言的超集。

Visual C++是功能最为强大可视化开发工具它不仅支持传统的软件开发方法 更重要的是它能支持面向对象、可视化的开发风格。因此 Visual C++又称作是一个集成开发工具它提供了软件代码自动生成和可视化的资源编辑功能。 Visual C++具有的优点提供了面向对象的应用程序框架 MFC(Microsoft Foundation Class),

3

云俄罗斯VPSJusthost俄罗斯VPS云服务器justg:JustHost、RuVDS、JustG等俄罗斯vps主机

俄罗斯vps云服务器商家推荐!俄罗斯VPS,也叫毛子主机(毛子vps),因为俄罗斯离中国大陆比较近,所以俄罗斯VPS的延迟会比较低,国内用户也不少,例如新西伯利亚机房和莫斯科机房都是比较热门的俄罗斯机房。这里为大家整理推荐一些好用的俄罗斯VPS云服务器,这里主要推荐这三家:justhost、ruvds、justg等俄罗斯vps主机,方便大家对比购买适合自己的俄罗斯VPS。一、俄罗斯VPS介绍俄罗斯...

Vinahost - 越南VPS主机商月6美元 季付以上赠送时长最多半年

Vinahost,这个主机商还是第一次介绍到,翻看商家的介绍信息,是一家成立于2008年的老牌越南主机商,业务涵盖网站设计、域名、SSL证书、电子邮箱、虚拟主机、越南VPS、云计算、越南服务器出租以及设备托管等,机房主要在越南胡志明市的Viettle和VNPT数据中心,其中VNPT数据中心对于国内是三网直连,速度优。类似很多海外主机商一样,希望拓展自己的业务,必须要降价优惠或者增加机房迎合需求用户...

iHostART:罗马尼亚VPS/无视DMCA抗投诉vps;2核4G/40GB SSD/100M端口月流量2TB,€20/年

ihostart怎么样?ihostart是一家国外新商家,主要提供cPanel主机、KVM VPS、大硬盘存储VPS和独立服务器,数据中心位于罗马尼亚,官方明确说明无视DMCA,对版权内容较为宽松。有需要的可以关注一下。目前,iHostART给出了罗马尼亚vps的优惠信息,罗马尼亚VPS无视DMCA、抗投诉vps/2核4G内存/40GB SSD/100M端口月流量2TB,€20/年。点击直达:ih...

popo聊天为你推荐
手机内存卡数据恢复软件免费下载手机存储卡被格式化了 ,谁有免费的恢复软件,能够恢复大部分文件软银支付雅虎在05年就被阿里巴巴收购了,为什么现在又会出现马云收回支付宝产权,雅虎和软银不高兴的情况呢?租车平台哪个好租车哪个平台好点,都要什么费用?浮动利率和固定利率哪个好银行贷款是选固定利率好还是浮动利率录音软件哪个好什么录音软件最好用二手车网站哪个好二手车交易网哪个好?炒股软件哪个好最好的炒股软件是哪个?手机杀毒哪个好手机杀毒软件哪个好 五大手机安全软件杀毒大比拼播放器哪个好什么播放器好用百度空间登录怎么登录百度空间
域名管理 服务器租用托管 万网域名管理 cdn联盟 网通服务器托管 卡巴斯基是免费的吗 shopex主机 xuni godaddy空间 网站加速 腾讯数据库 cdn服务 服务器操作系统 crontab 装修瓦工培训 主机游戏 主机系统 usb大容量存储设备 网站服务器硬件配置 美国主机购买 更多