基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx

上传人:b****4 文档编号:6640748 上传时间:2023-05-07 格式:DOCX 页数:99 大小:3.01MB
下载 相关 举报
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第1页
第1页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第2页
第2页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第3页
第3页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第4页
第4页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第5页
第5页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第6页
第6页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第7页
第7页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第8页
第8页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第9页
第9页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第10页
第10页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第11页
第11页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第12页
第12页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第13页
第13页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第14页
第14页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第15页
第15页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第16页
第16页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第17页
第17页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第18页
第18页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第19页
第19页 / 共99页
基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx_第20页
第20页 / 共99页
亲,该文档总共99页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx

《基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx(99页珍藏版)》请在冰点文库上搜索。

基于Socket技术的企业局域网通信软件设计与实现毕业设计Word格式.docx

Abstract

ThispaperfocusesontheLANcommunicationsoftwareoftheenterprise.Byintegratingwithactualconditionsofthemarket,thepaperaimstodesignandimplementasortofLANcommunicationsoftwareoftheenterprisebasedonC#.NETandSockettechnology.Thissystemsupportssomefunctionsinenterprises'

internalLAN,suchasone-on-oneIM,groupchat,filetransferandvideoconferences,etc.Thesoftwarerunswithintheenterpriselocalareanetwork,soastoeffectivelyprevententerpriseinternalsecretinformationfromleakingout.Inthisway,efficientandsafeinternalcommunicationwillbeprovidedfortheenterprise.Theresearchandsystemimplementofthistopiccanprovidehighefficientcommunicativeinformationfortheenterprise.Atthesametime,itcaneffectivelyprotectthesecurityofthedatatransportationandimprovetheworkingefficiencyoftheenterprise,thustopromotethedevelopmentoftheenterprise.

TestresultsindicatethattheenterpriseLANcommunicationsoftwareimplementedinthissubjectisingoodoperationstatus,andtestresultofeachmoduleisinaccordancewiththeexpectedone.Thissystemprovidesapowerfulplatformfortheinternalcommunicationoftheenterprise,anditcanalsoprovideanOAleveloftheenterpriseandpromotethereformanddevelopmentoftheenterprise.

Keywords:

LANcommunication;

Audio/videochat;

Dataencryption;

Dataanalysis

1

绪论

本章主要阐述了国内外研究现状,并展示了本课题所研究的主要内容以及论文的整体组织结构。

1.1研究背景

随着网络技术的迅速发展,信息沟通已经成为企业信息化管理的一部分。

为适应新的经济竞争环境,现在企业的内部沟通速度越来越快,对效率的要求也越来越高[1]。

特别是企业内部团队工作中的协调沟通必须即刻达成,否则将影响项目的整体推进,也难以迅速应对瞬息变化的市场需求。

企业应用计算机技术解决工作中的各种问题,以此来提高工作效率和水平早已不是秘密。

使用即时通信(InstantMessaging,简称IM)产品(QQ、MSN之类)来能够给企业内部带来有效的即时沟通和实时协作[2]。

即时通信产品已经得到越来越多的国内外企业关注及重视,即时通信产品具有降低交流成本、提高沟通效率、跨越物理空间距离等优势。

据美国著名公司Gartner调查显示,即时通信产品在以250%的速度飞速增长,并且具有广泛的发展前景[3-4]。

目前,使用最广泛的基于互联网的个人即时通信软件有MSN和QQ等。

MSN和QQ集聊天,游戏,音乐等功能于一身,满足了用户在移动互联网时代的沟通、社交、出行、娱乐等需求[5]。

但由于其聊天对象与聊天内容的不可控制,若上班时间使用MSN、QQ则可能会降低工作效率。

同时,员工需要通过互联网才能使用MSN和QQ,连上互联网就可能面临病毒侵扰、数据泄密等问题,这样给企业带来一定的安全隐患。

因此一种独特的IM产品--企业局域网通信(EnterpriseInstantMessage,EIM)应运而生[6]。

企业局域网通信软件是基于企业内部局域网使用的即时通信工具,具有操作简单、高安全性、即时便捷等特点。

同时由于该软件运行的网络环境是企业内部局域网,可以有效避免通信数据的直接外泄到互联网上,因此具有良好的保密性。

企业局域网通信软件广泛用于企业员工的日常信息交流、视频会议、文件传输、即时信息发布,该类产品具有与个人即时通信软件一样的沟通功能,而且更符合企业管理需求,能有效保障企业信息安全和提高企业工作效率。

企业局域网通信软件在企业管理应用的市场拥有大量潜在的用户群体。

1.2国内外研究现状

1.2.1国外研究现状

1996年11月ICQ在全球发布,拉开了互联网IM应用的序幕。

就是这样一款小软件在短短数年时间里发展出一个巨大的IM产业[7]。

时至今日,即时性通讯工具早已成为最热门的网络应用之一。

国外的即时性聊天工具举不胜数,局域网即时通信软件也有许多高质量。

JiveSoftware公司的Openfire采用Java开发,其开源的实时协作(RTC)服务器是基于XMPP(Jabber)协议。

Openfire以其的简便的安装使用以及庞大的扩展功能吸引了大量用户[8-9]。

FamineSoftware公司推出的WinpopupLANMessenger为了使聊天的数据更加安全,在传输过程中对聊天信息进行了RC4加密,能确保信息的安全传送[10]。

致力于开发高级服务器软件(AdvancedServerSoftware)的Netwin公司旗下的DBabble产品采用B/S架构,因而能够支持多种操作系统,针对企业内部普遍使用电子邮箱服务,DBabble内置邮件收发功能[11]。

1.2.2国内研究现状

从1999年腾讯推出QQ算起,即时通信在中国的发展已有14年左右的时间,目前已经经过了萌芽阶段,进入快速发展阶段[12-13]。

即时通信行业发展迅速,局域网即时通信软件的发展也不例外,在中国局域网即时通信软件研究领域已有不少学者发表了研究成果。

夏玉涛成功将P2P技术运用在聊天室软件中,在P2P网络中的每一个节点既是Client又是Server,如何表现取决于用户的要求,网络应用由使用者自由驱动[14]。

信息在网络设备间直接流动,高速及时,低中转服务成本。

在这套P2P局域网即时通信系统实现了用户之间点对点的即时通信和单对多的通信。

徐永春利用UDP协议资源消耗小速度快的特点,开发了基于UDP协议的局域网聊天软件,局域网用户可以使用该软件进行高效的沟通交流[15]。

葛福鸿与张丽萍研究了基于Socket技术的聊天软件,针对Socket技术是面向客户服务器模型的特性,设计了一套局域网即时通信系统,该系统实现局域网用户文本聊天、上下线的相互通知、互传文件这几个功能[16]。

1.3课题研究内容及组织结构

1.3.1研究内容

本课题设计并实现一个企业局域网通信软件,该软件面向企业用户。

企业员工通过本软件能够使用私聊功能来进行工作上沟通交流、通过群组聊天功能的进行工作汇报或者通知信息等;

视频功能能够实现无需走动即可以面对面的交谈,或进行视频会议;

为确保安全在信息的传输过程中进行了加密;

权限方面仅企业管理人员有权对数据库进行查看与修改;

新员工账号登录系统需企业管理人权限下进行;

后台用户能够直观的查看各类消息记录。

1.3.2组织结构

第一章,绪论:

主要从研究背景、国内外研究现状、以及研究内容和研究意义这几个方面对课题进行理论上的探讨。

第二章,理论技术介绍:

主要阐述了课题的主要理论,以及实现系统的主要技术,包括.Net技术,SQL数据库和三层架构技术。

第三章,系统需求分析:

主要从系统概述、业务介绍以及功能需求者几个方面阐述系统所需要实现的功能。

第四章,系统设计:

主要以系统的总体架构和各个主要模块对系统的详细设计进行分析和阐述。

第五章,系统设计核心算法解析:

详细解析系统的各个模块核心代码。

第六章,系统实现:

详细阐述系统的各个模块其界面及主要功能。

通过系统的实际界面展示系统的功能。

1.4本章小结

本章主要阐述了本课题的研究背景,国内外研究现状,最后简单介绍了本课题的主要研究内容与论文整体的组织结构。

2

系统核心技术

本章节主要阐述了本系统的开发过程中,采用了网络传输协议及Socket技术,DES与MD5加密算法,AForage.NET与DirectX等多媒体技术,多项.Net技术,三层架构与与P2P技术。

2.1网络传输协议及Socket技术

2.1.1网络传输协议

在计算机相邻网络域中的传输协议或简称为传送协议(CommunicationsProtocol),这相当计算机相互交流的共同语言[17-18]。

目前最为普及的计算机相通信类型为网络通信,所以这里的“传送协议”一般都指的是计算机通信中的传送协议,例如:

TCP/IP、UDP等协议。

此外在传送协议中也存在着其他形式通信,如:

在面相对象编程过程中对象之间的通信;

操作系统内不同程序之间的消息或者指令的传递,也都需要有一个标准的传送协议,以确保传信双方能够沟通无间[19]。

2.1.2TCP协议

TCP协议是面向连接的通信协议,通过三次握手建立连接,通讯完成时要通过三次握手拆除连接。

由于TCP协议是面向连接的所以只能用于端到端的通讯,TCP协议也因此能够实现可靠而且稳定的传输。

TCP协议提供的是一种可靠的数据流服务,此外TCP协议采用“带重传的确认消息”技术来实现传输的准确性及可靠性[20]。

TCP协议还使用一种称为“滑动窗口”的方式进行传输流量控制,所谓窗口其实际意义是表示接收能力,用以条件或限制发送方的发送速度。

在数据传输的过程中如果IP数据包中数据包含有已经封装好的TCP数据包,那么通过IP协议将把它们向“上”传送到TCP层。

TCP协议将对数据包排序并进行错误检查,与此同时实现虚电路之间的连接。

在TCP数据包的内容中包括序号和确认,其中未按照顺序收到的包可以在此进行排序,此外传输过程中损坏的数据包可以被重传[21]。

TCP协议将其数据包中的信息送到更高层的应用程序,如Telnet的服务程序和客户程序[22]。

由于面向连接的服务(例如Telnet、FTP、rlogin、XWindows和SMTP)需要高度的可靠性,因此它们通常情况下采用TCP协议。

基本TCP客户—服务器程序设计基本框架如图2-1所示[23]。

图21TCP框架图

2.1.3UDP协议

UDP协议是面向无连接的通讯协议,UDP数据包的主要内容括目的端口号和源端口号信息,由于UDP通讯不需要面向连接,所以UDP协议可以实现广播发送[24]。

由于UDP通讯时不需要接收方确认,故其属于不可靠的传输,可能会出丢包现象,因此在实际应用中要求程序员编程验证。

UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。

因此,UDP协议不被应用于那些使用虚电路的面向连接的服务,UDP协议主要用于那些面向查询---应答的服务,例如NFS(网络文件系统)。

相对于FTP或Telnet,这些服务需要交换的信息量较小[25-26]。

基本UDP客户—服务器程序设计基本框架如图2-2所示[27]。

图22UDP框架图

2.1.4Socket

Socket的英文原义是“孔”或“插座”,但Socket通常也称作"

套接字"

,Socket技术是用于描述IP地址和端口,其实质是一个通信链的句柄。

在因特网上的主机一般运行了一个或多个服务软件,软件同时提供一种或多种服务。

每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务[28]。

Socket正如其英文原意那样,象一个多孔插座那样,一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电,有的提供110伏交流电,有的则提供380伏工业电,编号不同功能也不尽相同。

客户软件调用Socket端口如同将插头插到不同编号的插座,通过不同编号的端口可以得到不同的服务[29-30]。

Socket工作流程图如图2-3所示。

图23Socket工作流程图

2.1.5点对点技术

点对点技术(peer-to-peer,简称P2P)又被称为对等互联网络技术,是一种网络新技术,主要依赖网络中参与者的计算能力和带宽,而不是把所有依赖都聚集在网络中较少的几台服务器上。

P2P网络主要用于通过AdHoc方式所连接来连接节点。

通常这类网络可以用于多种用途,例如各种档案分享软件现在已经得到了广泛的使用。

此外P2P技术也被使用在类似VoIP(VoiceoverInternetProtocol)等实时媒体业务的数据通信当中[30]。

P2P结构的一个主要的目标就是能让所有的客户端都能提供资源,如带宽,存储空间及计算能力。

因此,当有新节点加入网络且对系统请求增多的同时,整个系统的容量也随之增大。

这是仅仅具有一组固定服务器的C/S结构所不能实现的,对于这种结构中客户端的增加意味着所有用户的数据传输会变得更慢。

P2P结构的分布特性是通过在多节点上复制数据,同时也增加了防故障的健壮性,并且在纯P2P结构中,节点并不需要依靠一个中心索引服务器来实现发现数据,因此系统也不会出现单点崩溃[31]。

当使用用P2P来描述Napster网络时,对等协议被认为是重要的,但是实际上Napster网络的实现就是对等节点(就象网络的末枝)联合一个中心索引来。

这样可以使它能快速而且高效的定位可用的内容。

对等协议只是作为一种通用的方法来实现这一点。

2.2加密算法

2.2.1DES算法

DES算法的加密原理与二战期间德意志帝国的恩尼格玛机的基本工作原理大致相同。

一般来说传统的密码加密方式均由古代的循环移位思想演变而来,而恩尼格玛机在这些个传统加密方法的基础之上进行了扩散模糊[32]。

但是二者本质上的加密原理其实都是相同的。

现代DES算法同样也在二进制级别的运算做着类似的事:

多次模糊,增加破解的难度。

DES算法的加密原理是使用一个56位的密钥以及附加的8位奇偶校验位(每个组的第8位作为奇偶校验位),产生最大64位的分组大小。

DES算法采用的是一个迭代的分组密码,使用称为Feistel的技术,加密过程中将加密的文本块分成两半。

使用子密钥对其中一半应用循环移位功能,然后将输出与另一半进行“异或”运算;

接着交换这两半,这一过程会执行若干次,但最后一个循环不交换。

DES算法使用16轮循环,主要使用异或,置换,代换,移位操作四种基本运算。

DES算法流程图如图2-4所示。

DES加密算法实现源码:

publicstaticstringEncryptDES(stringencryptString,stringencryptKey)

{

try

{

byte[]rgbKey=Encoding.UTF8.GetBytes(encryptKey.Substring(0,8));

//取密钥的前8个字节作为加密密钥

byte[]rgbIV=Keys;

//加密字节,通过System.Security.Cryptography命名空间中的函数和加密密钥结合生成加密流

byte[]inputByteArray=Encoding.UTF8.GetBytes(encryptString);

//加密数据转二进制数据

DESCryptoServiceProviderdCSP=newDESCryptoServiceProvider();

//初始化新的DESCryptoServiceProvider实例

MemoryStreammStream=newMemoryStream();

图24DES算法流程图

//创建内存文件流

//创建加密流

CryptoStreamcStream=newCryptoStream(mStream,dCSP.CreateEncryptor(rgbKey,rgbIV),CryptoStreamMode.Write);

cStream.Write(inputByteArray,0,inputByteArray.Length);

//加密文件流写入文件

cStream.FlushFinalBlock();

//写入结束关闭流

returnConvert.ToBase64String(mStream.ToArray());

//返回加密后数据

}

catch

returnencryptString;

//返回未加密的数据

}

2.2.2MD5算法

MD5算法的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改[33]。

例如,在Unix下有很多软件在下载的时候都附有一个文件名相同,文件扩展名为.md5的文件或者文件名含MD5的文件,在这个文件中通常只有一行文本,大致结构如:

MD5(release.tar.gz)=0ca17589c0f766a871d894e266331461这就是release.tar.gz文件的数字签名。

MD5算法将整个文件当作一个大文本信息,通过其字符串进行不可逆的变换算法,产生了唯一的MD5信息摘要。

为了对MD5的应用有个直观的认识,以下以一个比方和一个实例的形式来简要描述一下其工作过程:

众所周知,地球上任何人都有自己独一无二的指纹,这已成为司法机关对罪犯身份鉴别的最值得信赖的方法;

与此类似,MD5算法就可以为任何文件(不管文件大小、格式、数量)产生一个独一无二的“数字指纹”,如果任何人对文件做了任何改动,文件MD5值也就是其对应的“数字指纹”也都会发生变化。

通常在某些软件下载站点中的的某软件信息中能够看到其MD5值,它的作用在于我们可以在下载该软件后,对下载回来的文件使用专门的软件(如WindowsMD5Check等)进行一次MD5校验,用来确保我们获得的文件与该站点提供的文件是同一文件。

采用MD5算法来进行文件校验的方案已被大量应用到软件下载站、操作系统文件安全、论坛数据库等方面[34]。

MD5算法流程图如图2-5所示。

图25MD5算法流程图

2.3多媒体技术

2.3.1AForge.NET

AForge.NET是一个专门为开发者和研究者设计的基于C#框架的多功能类库,其主要功能包括计算机视觉与人工智能,机器学习,机器人控制,遗传算法,图像处理,模糊系统,神经网络等领域[35]。

这个框架由一系列的类库组成。

主要包括有:

AForge.Controls——图像,三维,图表显示控件;

AForge.Fuzzy——模糊推理系统类库;

AForge.Genetic——进化算法编程库;

AForge.Imaging——一些用于日常的图像处理和过滤器;

AForge.MachineLearning——机器学习类库;

AForge.Neuro——神经网络计算库;

AForge.Robotics——提供一些机器学习的工具类库;

AForge.Vision——计算机视觉应用类库;

AForge.Video——一系列的视频处理类库;

本系统主要使用AForge.Video及AForge.Controls实现视频通信。

2.3.2Microsoft.DirectXSDK

MicrosoftDirectXSDK是DirectX编程的软件。

包含了开发尖端多媒体应用软件不可或缺的开发工具,以及runtime、headers及程序库、范例执行文件、文件、DirectX工具、并且同时支援C++以及VisualBasic开发软件[36]。

使用DirectX技术可以开发出高性能实时的应用程序,甚至可以直接访问计算机中的硬件和将来系统中新的硬件设备。

DirectX技术在硬件和应用之间提供了一系列的一致的接口以减少安装和配置的复杂性,这使硬件的利用率达到最优。

通过利用DirectX提供的接口,程序员能够充分利用硬件的特性而不需要去考虑其具体细节[18]。

DirectX主要包括以下几个部分。

DirectDraw:

通过支持访问显示内存中位图实现软硬件加速,快速直接存取,此外还可以利用硬件的位块传输和缓冲区翻转功能。

DirectSound:

提供软硬件声音混合及录音再生功能的开发。

DirectMusic:

提供软硬件解码MID音乐的播放功能。

DirectPlay:

使得游戏在调制解调器与网络之间的连接变的更加简单方便。

Direct3D:

允许程序显示一个完全的三维图形系统以及完全控制着色管道。

DirectInput:

提供了基于Windows游戏的输入的API程序,包括键盘、鼠标和操纵杆,以及将来的基于Windows新的输入设备。

DirectSetup:

提供了DirectX的一次性安装过程[19]。

本系统主要使用DirectSound通过麦克风捕捉音频信号。

2.3.3音频压缩算法

A律编码(A-law)是ITU-T(国际电联电信标准局)CCITTG.712定义的关于脉冲编码的一种压缩/解压缩算法[37]。

世界上大部分国家采用A律压缩算法。

令量化器过载电压为1,相当于把输入信号进行归一化,那么A律对数压缩定义为当0<

=x<

=1/A时,f(x)=(Ax)/(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2