局域网聊天上传(2)

2019-03-16 11:12

四川师范大学成都学院计算机网络编程实训报告

局域网聊天软件

前 言

聊天工具的出现,促进了网络社会的形成,人们的生活世界也逐渐的划分为真实世界和虚拟世界。这里的虚拟世界就是指以网络为载体的生活,人们通常并不需要知道对方是谁,也不需要了解网络上的资源是谁提供的,便可以遨游于这个虚拟的世界,寻找属于自己的天空。虚拟世界从某种程度上促进了社会各个方面的发展,无论从经济上,文化上,教育上都有着举足轻重的地位。而作为网络社会的交通工具之一聊天工具扮演着极为重要的角色,它促进了人们思想交流,加快了信息流通的速度,使这个信息化的世界高速的运转着。在社会方面,聊天工具提供了一个交流的平台,就好比一个虚拟的社会,广大的使用者可以通过这个社会里畅所欲言,以特殊的方式营造出了一种社会属性。在教育方面,聊天工具带给我们新式的教学体验,使在线文字,语音,视频教学成为了可能,更重要的是,人们可以分享彼此的思想和经验,促进精神和教育文化的发展。在工作方面,人们利用聊天室和聊天群招开工作会议,利用聊天工具的文件服务实现文件共享和文件传输,提高了工作的效率。综观聊天工具的发展史,从单一的一对一聊天,到多对多的互动式聊天,聊天工具正在进行了一场人类思想交流观的革命。目前的主流聊天工具更是将工作、娱乐、购物整合在了一起,逐渐发展成了综合化的聊天软件。人们对聊天工具的开发与研究将不会懈怠,反而会更深入的探索其意义。在我看来,由于互联网的飞速发展,其必定会整合通信行业,而聊天工具将会取代电话,成为最流行普及的交流工具。

目前,用于实现单一的即时通讯的软件不多,因此,决定试着开发一个用于多台计算机之间即时通讯的软件,以方便多台计算机之间信息的交流。本系统使用VB软件编写。多点间快速传递信息。同时,它体积小,功能单一,界面简洁,易上手,特别是局域网聊天不可多得的好帮手。该专题简单介绍了TCP编程的一些知识,UDP与TCP地位相当的另一个传输层协议,它也是当下流行的很多主流网络应用(例如QQ、MSN和Skype等一些即时通信软件传输层都是应用UDP协议的)底层的传输基础,所以在本专题中就简单介绍下UDP的工作原理和UDP编程的只是,希望可以对刚接触网络编程的朋友起到入门的作用。

1

四川师范大学成都学院计算机网络编程实训报告

1 需求分析

理解基于UDP的网络编程技术,分析类似于QQ群聊程序设计原理和程序流程,选择合适的开发环境,参考已有的群聊程序功能,设计模拟实现基于UDP的群聊应用程序。

1.1 课程设计目的

开发一个专用于实现两台计算机之间即时通讯的软件,以方便两台计算机之间信息的交流。,在连接并通信时,尤其是近程的即时通讯,彻底的脱离了远程的服务器,避免了和远程服务器连接时过多的浪费网络资源。并且避免了服务器忙或与服务器无法连接时,浪费过多时间用于和服务器建立连接!因此,这个软件是极具适应性和实用性的即时通讯软件!本次课程设计的目的是学习基于UDP协议实现网络聊天程序,已达到学会面向无连接方式的程序设计方法,并理解网络编程中面向无连接的概念。 1.2课程设计的内容

用户数据报(UDP)是一个无连接协议,使用这种协议时,并不需要在两台计算机之间建立固定的连接,也就是说,通信双方没有服务器和客户机之分,它们之间进行的是对等通信,所以它的优势很明显,是现代通信不可或缺的一部分。所以,利用它的优势设计一个可以实现私聊和群聊的软件,实现两台计算机间的即时通讯。

1.3 课程设计要求

基于UDP协议实现一对一的聊天和一对多的聊天,提供友好的用户界面,便于用户进行操作。

根据目前使用聊天程序的用户需求显示,用户对于聊天程序主要有以下几点要求:

(1)聊天功能:可以实现实时接收和发送文字信息,并能支持公聊和私聊的方式。

(2)用户功能:可以查看对方的开放信息,以及发送方的IP。

(3)其他功能:用户具有注册、登录、聊天、查询好友、添加好友、删除好友、修改个人信息等功能。

2

四川师范大学成都学院计算机网络编程实训报告

1.4.UDP协议的理解

UDP协议是英文UserDatagramProtocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。UDP协议直接位于IP(网际协议)协议的顶层。UDP协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。UDP协议使用端口号为不同的应用保留其各自的数据传输通道。正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。数据报的长度是指包括报头和数据部分在内的总的字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示,由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。如图1.4-1

3

四川师范大学成都学院计算机网络编程实训报告

图1.4-1 UDP报头

图1.4-2 TCP报文

1.5基于C/S的多客服端相互通信原理分析

在C/S模式中,数据的分发采用专门的服务器,多个客户端都从此服务器获取数据。这种模式的优点是:数据的一致性容易控制,系统也容易管理。 1.6套接字编程原理分析

4

四川师范大学成都学院计算机网络编程实训报告

图1.6-1 套接字编程原理图

2 概要设计

注册 登录 查找好友 用户 添加好友 聊天 聊天记录 删除好友 修改信息

图2-1整体框架设计图

服务器端主要实现的功能是启动一个监听的进程,开放自己的端口号为6553,不断的监听是否有新的客服端进程向自己发送连接请求,为每一个主动连接自己的客户端设置一个ID号设置一个threads的容器用来管理客户端的线程。

5


局域网聊天上传(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:牛的自述

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: