企业内部即时通讯系统的设计与实现_第1页
企业内部即时通讯系统的设计与实现_第2页
企业内部即时通讯系统的设计与实现_第3页
企业内部即时通讯系统的设计与实现_第4页
企业内部即时通讯系统的设计与实现_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华 中 科 技 大 学 毕 业 设 计 论 文I摘 要随着计算机网络应用的逐渐普及,网络已经成为人们掌握信息,交流信息以及管理信息必不可少的重要工具。实时通信的出现给人们带来了极大的便捷,同时也带来了时间和经济上的节省。如今,网络即时通信已经逐步发展成为应用于各行各业的信息交流工具。通过设计和实现一款集即时通信与人事管理于一体的网络应用程序,讨论并分析在 TCP/IP 协议的基础上设计并实现一个 C/S 结构的即时通信系统的详细过程。首先,介绍网络即时通信开发的必备技术知识,包括常用的即时通信系统的客户端和服务器端的通讯协议,以及即时通信系统的功能设计、系统结构模式设计、数据信息设计等。其次,分析和设计客户端与服务器端之间的通信协议,以规范系统中端与端的数据传输过程。然后,对系统中最重要的部分即网络传输控制模块,进行详细的设计说明以及简单的实现方案的阐述,最后,描述即时通信系统整体的逻辑处理流程,以及该系统在人事管理方面的功能实现,以及其他部分已通过测试服务器程序测试的客户端程序代码。即时通信系统的设计与实现在企业建立自己特色的集信息管理和即时通信为一体的内部应用软件方面具有一定的应用前景。关键词:即时通信 网络应用程序 TCP/IP 通信与办公系统华 中 科 技 大 学 毕 业 设 计 论 文IIAbstractAs the widespread of web application, internet has become the indispensable tool for information acquisition, communication and management. The advent of real-time communication has brought people great convenience as well as saving time and money. Nowadays, web-based real-time communication has been developed to a communication tool for many fields.Analyzes and discuss the process of designing and implementing a real-time communication system of C/S structure based on TIP/IP protocol, through designing and implementing a network application combined the functions of instant communication tool and also a personnel management tool. First, to introduce some necessary technical knowledge and the functional designing、system structure module designing and data information designing of development of the IM system. Second, analyze and design the communication protocol between Client and Server of the system to regular the data transportation process between ports. Third, describe the designing and implementation of the most important part of the system which is the web transportation controlling module. Finally, introduce the logic processing of the whole IM system and some client programs or code which have passed the testing of server program.Designing and implementing of IM system has a definite applying prospect in the aspect of building an interior and own application which gather instant messaging and information managing.Key words:Instant Messaging Network Application TCP/IP IM in Office华 中 科 技 大 学 毕 业 设 计 论 文III目 录摘 要 .IAbstract.II1 绪论1.1 课题背景和意义 .(1)1.2 相关技术知识简介 .(1)1.3 论文的主要工作与章节安排 .(3)2 系统的结构与功能设计2.1 系统结构的选择和设计 .(5)2.2 系统功能设计 .(7)2.3 数据信息及数据库设计 .(9)2.4 本章小结 .(11)3 IM Client 与 IM Server 之间的通讯协议3.1 数据收发方式与数据结构的设计和定义 .(13)3.2 通信协议数据包在实现过程中的定义 .(14)3.3 本章小结 .(18)4 网络数据传输控制模块的设计与实现4.1 异步套接字与多线程同步介绍 .(19)4.2 网络传输管理模块的设计与实现 .(20)4.3 客户端网络传输模块的工作流程 .(23)4.4 服务端的网络传输管理方案 .(25)4.5 网络传输模块实现的关键代码 .(27)4.6 本章小结 .(30)华 中 科 技 大 学 毕 业 设 计 论 文IV5 系统整体逻辑处理流程与实现结果5.1 数据收发的逻辑处理流程 .(31)5.2 系统整体结构展示 .(32)5.3 系统功能处理过程逻辑描述 .(33)5.4 部分功能实现结果以及 CLIENT 端运行截图 .(35)5.5 本章小结 .(37)6 总结与展望6.1 全文总结 .(38)6.2 展望 .(38)致 谢 .(40)参考文献 .(41)附 录 .(43)华 中 科 技 大 学 毕 业 设 计 论 文11 绪论1.1 课题背景和意义近年来,随着 Internet 的飞速发展,计算机网络得到了越来越广泛的应用,并且已经逐步走进千家万户。自迈入信息时代以来,距离已经不再是人们之间联络沟通的障碍,也正因为如此,人们对沟通交流的需求和依赖也越来越强烈,各行各业对信息交流的要求也越来越高。如今,通过各种即时通信软件,人们已经可以在足不出户的情况下,与远距离甚至世界各地的人进行实时的聊天交流,这样的交流不仅满足了人们对交流沟通的需求,同时也给人与人之间的交流带来了极大的便捷和大量的经济节省。因此,即时通信(Instant Messaging)在人们的生活工作和学习中得到了更广泛的应用。目前,已经有不少即时通信软件在社会公众中流行,像 MSN,腾讯 QQ,新浪UC 等,都是国内人们所熟知的知名流行即时通信软件,其技术方面也都处于国际领先水平。同时,由于即时通信软件的便利,其应用已经由最初的简单的聊天交友得到了巨大的拓展。适应各种场合的各式即时通信软件也开始出现在软件市场上,这就包括了一些与企业管理相关的即时通信软件,一个具有企业自己特色的集信息管理和即时通信为一体的内部应用软件,能够使一个企业或者团队更像一个整体,同时也能够给企业的管理和信息交流带来极大的便利,在一定程度上提高工作效率。同样的,对于软件设计与开发的行业来说,过去的那种仅适用于 PC 机上的应用程序的开发已经远远不能满足市场的多样化的需求,网络程序的广泛应用和广大需求使学习与掌握与网络相关的编程技术显得尤为重要。本论文将结合一个具体的局域网即时通信系统的开发编写,以现有的各种技术,介绍讲解网络 IM 软件开发中的重要知识,并讨论其中关键环节的技术问题和各种解决方案和设计策略。华 中 科 技 大 学 毕 业 设 计 论 文21.2 相关技术知识简介1.2.1 基于 SOCKET 的网络编程SOCKET 在英文中的意思是插座,在网络编程中,其实际意义可以理解为网络通信连接的插座,通常称之为套接字。如果将网络连接的各终端类比为电话,则SOCKET 即相当于电话线插座,为各终端提供或者创建与其他终端通信连接的桥梁或通道。所有的终端都必须接通此“插座” 来完成与其他终端的连接或通信,否则,它将独立于网络之外。由此可以知道知道,SOCKET 是终端间建立连接的核心对象。那么,对于一个SOCKET 对象,它到底具备什么样的功能呢?通常,用 WINSOCK 库来创建和使用 SOCKET,运用 WINSOCK 库的基本API,就可以实现简单的数据输入和输出(即发送数据和接受数据) 。在创建一个SOCKET 对象后,通过指定 IP 地址来确定该 SOCKET 与哪台机器发生交流,通过指定机器端口号(一般为 1024 以上)确定与该机器上哪个应用程序进行交流。在确定了交流对象后,便可以使用 SOCKET 与对象机器上的应用程序进行数据的传输和信息的交流。在面向连接的网络通信中,还必须使用 SOCKET 进行连接的监听和创建,只有创建了稳定的连接后,才开始进行数据的传输。由于交互方式的不同,SOCKET 也分为两种,一种是无连接的数据报形式的,一种则是面向连接的流式套接字,这也是接下来两小节要阐述的内容。1.2.2 UDP 协议与 TCP 协议的简单介绍UDP 协议是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 UDP 数据报,并组装成一份待发送的 IP 数据报。这与面向流字符的协议不同,如 TCP,应用程序产生的全体数据与真正发送的单个 IP 数据报可能没有什么联系。UDP 不提供可靠性:它把应用程序传给 IP 层的数据发送出去,但是并不保证它们能到达目的地,其过程可以比做投递信件,它只关心信件确实投放到信箱,至于对方是否正确、按时收到信件,UDP 并不关心。尽管 TCP 和 UDP 都使用相同的网络层(IP),TCP 却向应用层提供与 UDP 完全不同的服务。TCP 提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用 TCP 的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个 TCP 连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“ 喂”,华 中 科 技 大 学 毕 业 设 计 论 文3然后才说明是谁并与之开始对话。1.2.3 WINSOCK 套接字 API 调用的简单流程本论文所要讨论的即时通信系统则是通过 WINSOCK 库的应用来设计和实现基于 TCP 的 C/S 结构的网络即时通信程序。这里,用图的方式简单的表示出对WINSOCK 库提供的 API 函数调用过程。面向连接的流方式调用过程如图 1-1 所示。 调用 WSAStartup()初始化 SOCKET调用 socket()创建 SOCKET调用 bind()指定通讯端口调用 listen()设置等待连接状态调用 accept()接收连接并生成会话 socket调用 send 和 recv 进行通讯会话调用 closesocket 关闭会话 socket调用 WSAStartup()初始化 SOCKET调用 socket()创建 SOCKET调用 accept()接收连接并生成会话 socket调用 send 和 recv 进行通讯会话调用 closesocket 关闭会话 socketSERVER 端 CLIENT 端图 1-1 面向连接的流式通信过程面向无连接的数据报方式的调用过程如图 1-2 所示调用 WSAStartup()初始化 SOCKET调用 socket()创建 SOCKET调用 sendto 和 recvfrom 进行通讯会话调用 closesocket 关闭会话 socket图 1-2 面向无连接的数据报过程从图中可以看出,面向连接的流方式更能适应 C/S 结构系统的非对称结构的实华 中 科 技 大 学 毕 业 设 计 论 文4现。1.3 论文的主要工作与章节安排本论文旨在设计一个面向企业内部的功能实用、性能良好的即时通信系统,并对其中关键模块做详细的分析和实现的说明。在系统的设计和实现中,要突出系统的模块化,各模块间相对独立,通过模块间的接口交互工作,使整个系统层次、模块清晰。在数据传输方面,要注意数据的封装,使数据尽可能结构化,保持良好的一致性。根据上述要求,论文中详细阐述了系统的设计方案和关键模块的的实现方法,主要工作如下:(1)在确定系统结构后,根据系统相关需求妄称对系统功能的设计和分析,并对应系统功能做出用户信息数据的设计,详细说明数据库表项的设计。(2)对 CLIENT 与 SERVER 端的通信协议做详细的设计,并对协议数据包的结构的定义做出详细的阐释。(3)对系统中网络传输模块的设计做详细的说明,阐述网络传输模块在系统中的工作流程以及该模块的实现方案。(4)结合系统整体结构,说明系统在功能实现上的逻辑处理过程(选择最主要的功能如登陆认证和聊天消息收发),并展示系统部分功能实现后的运行结果。按照上述的工作内容叙述,本论文共分 5 章来分别阐述有关问题,各章节安排如下:第一章介绍论文背景、项目的意义、项目相关技术知识以及论文主要工作。第二章对系统结构的分析做简单的介绍,针对系统的定性对其功能做详细的设计和分析,并设计出与系统功能相关的数据信息内容。第三章详细介绍 C/S 系统中 CLIENT 与 SERVER 端之间的通信协议,并说明在系统实现过程中,该数据包结构以及部分协议内容定义。第四章设计并分析系统中的核心模块网络传输管理模块,对模块中重点对象的设计做详细的说明,并介绍该模块的实现策略,以及其在系统中的工作流程。第五章介绍系统整体的结构模型,包含系统中各个模块中的对象,说明系统实现关键功能即登陆认证、聊天消息收发等的逻辑处理流程。并展示系统运行过程中的部分截图。华 中 科 技 大 学 毕 业 设 计 论 文52 系统的结构与功能设计2.1 系统结构的选择和设计2.1.1 系统通讯模式的选择在前面,已经分别介绍了基于 UDP 和 TCP 的两种即时通信系统的基本模式。在两者相比之下,由于 TCP 协议能够很好的提供数据传输的可靠性,并在面向连接的环境下提供更丰富的网络通信服务。而且,在面向连接的环境下,更有利于对网络应用终端的实时管理,为使用客户提供更加便捷可靠的网络服务。所以,在网络通信模式上,倾向于基于 TCP 的面向连接的流式通讯模式。2.1.2 集中式与分布式系统概述在目前的网络通信系统中,对于连接节点的管理有集中式和分布式两种管理模式。对于集中式的管理模式,系统的数据存储和管理以及各功能在网络连接上的对应操作,都集中在网络管理节点上进行处理和实现,即由单一服务器来完成网络数据的集中管理。集中式网络管理模式最大的优点就是便于集中管理各端连接,易于实现,维护工作较为简单。但是,由于管理信息全部集中汇总到管理节点上,这就使得在通信高峰期会造成信息流拥挤,这对管理节点处的机器处理效率有很高的要求。另外,由于所有的信息管理都依靠于一台服务器,当管理节点发生故障时,整个网络系统都将停止工作。分布式管理模式,则是将网络管理客户机与一组服务器进行交互作用,由多个服务终端来共同协作完成对网络信息的管理。由于有多个服务端协同工作,集中式容易造成信息流拥挤、服务器负荷太大的问题可以得到很好的解决。同时,在多服务器的环境下,服务端之间的分工设计可以由设计人员灵活设计,系统的可伸缩性,扩展性也较为良好。一般来说,采用的较多的则是多层管理或者服务器集群等技术方式。2.1.3 系统的结构设计本论文所要讨论的系统是一个供中小型企业内部使用的带有简单人事管理功能华 中 科 技 大 学 毕 业 设 计 论 文6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论