1、局域网QQ设计与实现 摘 要局域网(Local Area Network)是在一个局部的地理范围内(如一个学校、工厂和机关内),将各种计算机。外部设备和数据库等互相联接起来组成的计算机通信网。它可以通过 数据通信网或专用数据电路,与远方的局域网、数据库或处理中心相连接,构成一个大范围的信息处理系统。简称LAN,是指在某一区域内由多台计算机互联成的计算机组。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等,一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、扫描仪共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机
2、组成,也可以由一个公内的上千台计算机组成。局域网聊天软件,简称LCS(LAN chat software),它是一种面向企业局域网终端使用者的网络沟通工具服务,使用者可以通过安装了即时通信的终端机进行两人或多人之间的实时沟通。交流内容包括文字、界面、语音视频及文件互发等。局域网聊天软件,是以企业内部办公,建立员工交流平台为基础,通过系统整合、边缘功能,为企业提供一整套的即时沟通和实时协作的解决方案。由于企业对信息 类软件的需求还在“探索”与“尝试”阶段,所以会导致很多系统不能“互通”,这也成了局域网聊天软件的一个使命。当信息软件被广泛使用之后,“互通”接口具备否,将被作为软件被选用的重要条件。
3、局域网聊天软件,除了能加强网络之间的信息沟通外,最主要的是可以将网站信息与聊天用户紧密联系在一起。通过网站信息向聊天用户群及时群发送,可以迅速吸引聊天用户群对网站的关注,从而加强网站的访问率与回头率; 目前,中国市场上的企业级局域网聊天软件主要包括:通软联合的GoCom、腾讯公司的RTX、IBM的Lotus Sametime等,免费版的有中国赢通的汇讯WiseUC,飞秋飞鸽传书等。局域网聊天软件不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。是一种终端连往即时通讯网络的服务。局域网通讯不同于e-mail在于它的交谈是即时
4、的。大部分的即时通讯服务提供了状态信息的特性显示联络人名单,联络人是否在在线与能否与联络人交谈。关键字:局域网;实时通信;数据库;多用户 第一章 引言1.1 课题背景及意义当今世界正处于信息时代,计算机和通信网络是这一时代所谓“信息基础设施”。随着网络的普及化,网络作为人们相互间沟通与交流联系的现代化工具日益重要,可以说现在人们的生活已经离不开网络。在现实生活中人们可以通过多种手段与家人亲戚朋友交流通讯,像电话,电子邮件等。但这些手段都有些缺点,要么费用太高,要么实时性不强,要么1次只能和1位好友进行交流。于是这就需要1种便宜,快速,能同时与多个好友进行通讯的网络工具的出现,而网络聊天工具就满
5、足了这些需求,填补了这个空白。在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了。聊天室程序可以说是网上最简单的多点通信程序。一个简单的聊天室, 从程序员的观点来看就是在多个I/O端点之间实现多对多的通信。广域网上的即时通信工具,如今一般采用UDP或者 TCP协议体系来实现,开发技术已经比较成熟,这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是利用各种平台上的网络通信接口,建构基于TCP/IP,或者UDP协议的软件产品。局域网文件传输及聊天工具平台,是在局域网内部使用的
6、,用户之间用来交流和文件共享的一个工具,一般都具有文本聊天和文件传输功能。一些局域网软件因其使用简单,系统资源消耗少等优点,成为各企事业单位等的局域网内广泛应用的软件之一。网络的飞速发展使网络应用程序的开发地位显的越来越重要,而网络应用程序的开发和传统应用程序的开发在思想和实现上有很大的区别,随着网络技术和数据库管理系统的发展,C/S体系结构在软件的开发中越来越流行。因为这种结构的应用软件可以充分发挥网络的作用和数据库系统的优势,以满足人们各种应用的需求。1.2 本次设计的主要工作1.2.1 技术要求聊天工具的开发主要用到了网络通信技术、windows的多线程技术、文件传输技术、时钟技术、IO
7、技术。该聊天软件使用c#语言由VS2008开发的基于Windows 的winform通讯工具,可以实现点对点聊天、广播聊天、一对多聊天以及文件的传输。该聊天工具用到了多线程的设计,因此线程之间的同步是一大关键之处。由于系统采用客户机/服务器结构,客户端与客户端以及客户端与服务器端需要传送一些控制消息。1.2.2 系统的基本功能1、系统UI层2、系统聊天层3、系统文件传输层4、系统多播层5、我在该项目中负责的主要工作:系统文件传输层第2章 需求和可行性分析2.1 需求分析2.1.1 基本功能(1)程序启动之后要求输入你想要使用的昵称,输入完之后点击进入。(2)进入之后可以看到哪些机器在线,用户列
8、表上显示的是对方所使用的昵称。(3)一旦局域网内有新机器上线了,会及时更新用户列表。(4)列表上的用户以按钮形式显示,当点击想要与之聊天的用户按钮时,弹出对话框,在输入框中编辑要发送的聊天信息,并进行发送。(5)当有人向我发送信息的时候,会自动弹出一个对话框,显示用户接收到的信息,对方昵称显示在标题栏中,并且可进行信息的回复。2.1.2 性能要求首先要求程序的可靠性要高,能有效的应付种种意外情况,比如对方连接进来后,长时间未响应(未发送自己的昵称过来),在传输文件的过程中对方突然退出或突然掉线,要尽量的考虑周全这些意外情况,并向用户提交简单易懂清晰明白的提示信息程序要具备良好的容错性,当用户进
9、行非法操作时要给予警告,如果操作导致程序无法继续运行或者系统本身出现问题时,以最好的方式退出程序,避免发生程序假死现象。源代码有好的可读性,开发文档要有好的易理解性,如果系统又要交由别人接手开发,或者自己由于种种原因需要进行二次开发,那么要保证以后能够清晰的理解整个系统的设计思路以及实现细节。要求程序对内存的占用尽可能的少,CPU使用率尽可能的低,最好在各种情况下都能保持10%以下的CPU使用率,传输文件速度尽量可观。2.1.3 时间要求该项目作为毕业设计,选题时间是3月2号,在5月24号之前完成系统设计、编码等工作,在6月1号之前完成毕业设计论文初稿,6月7号之前最终完成论文。2.2 可行性
10、研究2.2.1 市场可行性分析现在的软件市场还不是一般的乱,每天都有各种各样的软件推出,各种质量,各种目的,如果推出这种软件工具类的产品,首先,免费是肯定的,现在也没有什么聊天工具是收费才能聊天的,这款软件的可行性在于局域网内的通信工具还没有出现垄断的现象,质量很好的话还是有些可能出头的,所以在逻辑细节设计算法设计方面要下非常大的功夫才行。2.2.2 技术可行性分析首先,在搭建好开发所需要的软硬件平台后,一个完善合理的需求分析是软件开发前期工作中必不可少的,该系统用c#语言由VS2008开发的基于Windows 的winform通讯工具,TCP应用编程提供的类(TcpListener,TcpC
11、lient,Socket)都是网络编程的好东西,基本应有的功能都可靠这些实现,再加上有获得巨大成功的通讯软件可以参考,所以这个程序的开发可行性在技术上是完全可行的。第3章 相关技术介绍3.1 TCP/IP协议TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络 的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之
12、间传输的标准。TCP/IP是一个四层的分层体系结构。高层为传输控制协议,它负责聚 集信息或把文件拆分成更小的包。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。TCP/IP(传输控制协议/网际协议)是异构网络互连的通信协议,通过它可以实现各种异构网络或异种机之间的互联通信。 TCP/IP已成为当今计算机网络最成熟、应用最广的互联协议。Internet采用的就是 TCP/IP协议,网络上各种各样的计算机上只要安装了TCP/IP协议,它们之间就能相互通信。运行TCP/IP协议的网络是一种采用包(分组)交换网 络。TCP/IP协议是由100多个协议组成的协议集,TCP和IP是其中两
13、个最重要的协议。TCP和IP两个协议分别属于传输层和网络层,在 Internet中起着不同的作用。3.2 UDP协议UDP是ISO参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。UDP协议的全称是用户数据包协议,在网络中它与TCP协议一样用于处理 UDP数据包。在OSI模型中,在第四层传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数
14、据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。 与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。 UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。在选择使用协议的
15、时候,选择UDP必须要谨慎。在网络质量令人不十分满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。3.3 TCP应用编程TCP是Transmission Control Protocol(传输控制协议)的简称,是TCP/IP体系中的面向连接的传输层协议,在网络中提供全双工的和可靠的服务。一旦双方建立了TCP连接, 连接中的任何一方都能向对方发送数据并接收对方发来的数据。发送数据时,程序员可以编写程序不断地
16、将数据流写入TCP的发送缓冲区中,然后TCP自动从发 送缓冲区中取出一定量的数据流写入TCP的发送缓冲区中,然后TCP自动从发送缓冲区中取出一定量的数据,将其组成TCP报文段逐个发送给IP层,再通过 IP层发送出去。接收端从IP层收到TCP报文段后,将其暂时保存在接收缓冲区中,这时程序员就可以编写程序依次读取接收缓冲区中的数据,从而达到通信的 目的。 利用TCP开发应用程序时,.NET框架提供两种工作方式,一种是同步(Synchronous)工作方式,一种是异步(Asynchronous)工作方式。 同步工作方式是指利用TCP编写的程序执行到发送、接收或监听语句时,在未完成工作前不再继续 下面的工作,即处于阻塞状态,直到该语句完成相应的工作后才继续执行下一条语句;异步工作则不论工作完成与否,都会继续往下执行。例如:接收数据时,在同
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1