优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

VB多人聊天系统设计与实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
摘要随着计算机网络技术的快速发展,许多企业、机关、学校都纷纷建立起自己的局域网。为了方便局域网内部用户的信息交流与即时通信,本人本着学以致用的原则,以VB为开发平台,开发了这套多人聊天系统,以满足网络用户的通讯需求。我考虑到作为局域网终端用户数量较少,借鉴了一些即时聊天软件的成功经验,在本人开发的聊天系统中,用户聊天信息采用服务器转发方式,保证只要当前在线的用户都可以接收到。本聊天系统包括服务器程序和客户端程序,服务器包括聊天信息即时转发、发送通知等功能。客户端具有登陆、注册、修改个人信息、聊天等功能。该系统具有操作简单、界面友好、功能专一、使用方便等特点。本文就系统的原理、系统的开发过程做了详细的介绍,重点介绍了系统的总体方案、各功能模块的设计思路、设计方法与设计过程。也对系统内部通信原理与通信机制进行了论述。关键词多人聊天系统;Winsock;网上聊天1 绪论1.1 课题的开发背景近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面,使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系和交流方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。网上聊天系统作为一种方便人与人之间联系的实用系统便应运而生,为我们的工作和学习,带来极大的方便和提高工作效率。由于目前人们交流方式变得多种多样,其中聊天软件凭借其友好的外观、强大的功能、使用的便利、联系的及时等特点博得现代人的青睐,其应用的市场十分广阔。在Internet上,有Icq ,Oicq ,MSN 等网上寻呼软件,极大程度上方便了处于世界各地的友人之间的相互联系,也使世界好像一下子缩小了,不管你在哪里,只要你上了网,打开这些软件,就可以给你的朋友发信息。现在,企业、机关、学校都纷纷建立起自己的局域网。在局域网里,虽然可以通过文件共享的方式进行通讯,但单单使用这种方式,是非常不方便的。首先,在局域网里的网上邻居里,只能看到机器名,不清楚对方是谁,也不知道对方机器里有什么资源可以共享,而且当局域网内的机器很多时,这种方式更加麻烦。现在有很多在局域网上不使用服务器的通讯软件,这种软件小巧且方便,也能解决一部分问题。但是有服务器的通讯软件,有着不可比拟的优势:可以发送离线消息,不管用户当时是否在线,下次上线时,就可以看到这条消息了;可以保存用户的个人信息或介绍,供人查看。而且,不使用服务器的通讯软件,是以机器为通讯单元的,而有服务器的通讯软件是以人为通讯单元。总之,有服务器的通讯软件在局域网上,还是有很大的用途的,为局域网上通讯,带来极大的方便。1.2 课题开发的目的和意义现在,企业、机关、学校都纷纷建立起自己的局域网。在局域网里,虽然可以通过文件共享的方式进行通讯,但单单使用这种方式,是非常不方便的。首先,在局域网里的网上邻居里,只能看到机器名,不清楚对方是谁,也不知道对方机器里有什么资源可以共享,而且当局域网内的机器很多时,这种方式更加麻烦。于是,就想到做一个适用于局域网(校园网)的聊天工具,在局域网里,我们可以通过它实现局域网内方便的联络、进行文件传输、消息的发布、自己共享内容的简介等。在学校建立起校园网里,这软件可以起到方便同学之间、教师之间、师生之间相互联络的作用。这样就可以节省资源,在学校这个大环境里,就可以同学之间联系,联络感情,促进同学之间的友谊,学生可以通过它来与不同寝室的同学,教师讨论问题。并能最大限度地利用现有的网络资源,极大地提高工作效率。为了适应校园网的建设,并实现校园网内消息发布、学生交流、师生交流、网上交作业等功能。2 系统分析2.1 系统需求分析对软件需求的深入理解是软件工作者获得成功的前提条件,只有真正满足用户需求的软件才是有用的软件。系统需求分析将要回答的问题是:用户需要什么样的系统,系统必须做些什么等问题。只有锁定目标,才能更有效率,更正确的工作。(1)功能需求聊天室软件共分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的消息,客户端需登陆到服务器才可以实现正常聊天功能[8]。1)服务器端的主要功能如下·在特定的端口上进行侦听,等待客户段连接·用户可以配制服务器的侦听端口,默认端口为8888·向已经连接到服务端的用户发送系统消息·统计在线人数·当停止服务时,断开所有用户连接2)客户端的主要功能如下·连接到已经开启聊天服务的服务端·用户可以配制要连接服务器端的IP地址与端口号·用户可以配制连接后显示的用户名·当服务器端开启后,用户可以随时登陆和取消·用户可以向所有人或者某一个人发送消息(2)可靠性需求多点聊天系统是一个应用软件,要传送的数据必须通过传输层来完成。在传输层有两个传输协议可以使用,就是UDP协议和TCP协议。UDP协议是无连接的传输协议,也没有保证可靠传输的措施,就是说它不能保证传输质量。而TCP协议是面向连接的协议,通过对传输数据的每一个字节统一编号、接收端确认、发送端超时重传、流量控制、拥塞控制等措施来保证所传输数据的可靠性。TCP是一种面向广域网的通信协议,目的是在跨越多个网络通信时,为两个通信端点之间提供一条具有下列特点的通信方式:*基于流的方式;*面向连接;*可靠通信方式;*在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销;*通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点。用户数据报协议(UDP)是TCP/IP参考模型中一种无连接的传输层协议,提供面向操作的简单非可靠信息传送服务。UDP协议直接工作于IP协议的上层,和TCP协议提供的服务相比具有以下特点: *是一种报文投递方式,没有流的概念;*不存在连接;*不提供可靠通信保证;*UDP头部包含很少的字节,比TCP头部消耗少,传输效率高。在具体实现上,UDP协议存在以下和TCP协议不同的地方:① 不进行数据分片,保持用户数据完整投递,用户可以直接将从UDP接收到的数据解释为应用程序认定的格式和意义;② 没有对UDP承载的整个用户数据的到达进行确认,这由用户来完成,相对于TCP协议这是一个缺点;③ 没有连接的概念,不提供流量控制,也不存在对连接进行建立和维护;④ 进行数据校验,和TCP一样将保持它首部和数据的检验和,这是一个端到端的检验和,当校验和出现差错的时候,抛弃数据,没有任何动作[7]。2.2 系统可行性分析本章从技术、经济和操作三个方面对系统的可行性做出了分析。确定了系统是否值得实现。可行性分析是现代软件工程不可或缺的重要组成部分。对问题的可行性做详细认真的可行性研究,可以避免很多不必要的浪费,确保用最小的代价在尽可能短的时间内确定问题是否能够解决。3 多人聊天系统通信原理本章是整个系统实现的理论部分,将介绍多人聊天系统实现的基本原理,对套接字、数据报通信和多线程等相关技术进行了讨论。3.1 套接字通信套接字(Socket)是网络通信的基本操作单元,又称作端口,通常用来实现客户方和服务方的连接。网络上的两个程序通过一个双向的通信连接实现数据的交换,在实现双向通信前链路的每一端都建立一个Socket,通过对Socket的读/写操作实现网络的通信功能。套接字是网络通信的一个标准,它就像房中的电源插座,无论是电灯还是电脑等电器,它们只要使用220V 50HZ的交流电压,插在电源插座上能正常工作[6]。套接字分为以下3种类型:(1)流套接字这是最常用的套接字类型,TCP/IP协议簇中的TCP协议使用此类接口,它提供面向连接的(建立虚电路)、无差错的、发送先后顺序一致的、包长度不限和非重复的网络信包传输。(2)数据报套接字TCP/IP协议簇中的UDP协议使用此类接口,它是无连接的服务,以独立的信包进行网络传输,信包最大长度为32KB,传输不保证顺序性、可靠性和无重复性,它通常用于单个报文传输或可靠性不重要的场合。(3)原始数据报套接字提供对网络下层通信协议的直接访问,它一般不是提供给普通用户的,主要用于开发新的协议和提取协议较隐蔽的功能。所有Socket通信程序的基本结构都是一样的,主要有创建Socket、打开连接到Socket的输入流和输出流、按照一定的协议对Socket进行读写操作、关闭Socket这四个步骤,通过这四个步骤可以完成一般的Socket通信。这里涉及到一个端口号分配的问题,TCP/IP将端口号分为两部分,少量的作为保留端口,端口号小于256,以全局方式分配给服务进程。因此每一个标准服务器都拥有一个全局公认的端口号,即使在不同的机器上其端口号也相同。对于常见的保留端口号主要有:80端口提供WWW服务、23端口提供telnet服务、21端口提供FTP服务、110端口为POP服务等。剩余的为自由端口号,比如TCP协议可以有123端口,UDP协议也可以有123端口,这并不冲突,因为不同的协议有完全独立的软件模块。但是作为唯一通信连接的套接字之间是不能重复的。作为服务器的应用程序只能同时绑定一个端口号,但是,一个服务器程序在同一端口上可以响应若干客户端请求,由于不同的客户端对应于不同的主机地址和端口号,所以这仍然具有套接字的唯一性[8]。 全套毕业设计包含的内容如下:源程序+论文(15000字以上)+可执行程序+答辩稿+开题报告如需要请您和我们客服QQ联系