2024年5月28日发(作者:)

飞鸽传书软件的设计与实现

2 系统需求分析 2.1系统设计目标 根据对飞鸽传输系统的调研,我

认为本设计需要满足以下几个系统设计目标: (1)实用性原则:真正为局域网

的实际工作服务,按照需求的轻重缓急,合理设计本系统。 (2)可靠性原则:

必须为用户提供安全的服务,尤其是要保证传输的稳定性。 (3)友好性原则:

使用本系统的用户相当一部分对计算机知识了解很少,所以系统操作上要求简

单方便,便于用户掌握。 (4)可扩展性原则:采用开放的标准和接口,便于系

统向更大的规模和功能扩展。 2.2系统总体需求分析 根据用户需求,本系

统分为两个子系统:1:局域网内简单文字聊天子系统,它是在局域网内选择相

应的用户,以便对之发送文字信息,2:文件、文件夹传输系统,它是在先把

需要传输的文件、文件夹转换成相就的数据流传关,到了目的主机再由之还

原。本系统的文字聊天系统实现的功能类似于QQ用户之间的聊天。在设计系

统时,应根据简洁、流畅的特点安排布局,在编制程序时应充分考虑这一点传

输的稳定、快捷,真正做到“简洁、高效、流畅、安全”的使用环境。用户使

用的过程为,先是用户登开启本软件,软件自动检索局域网的其它用户,并以

之成为用户列表,让用户选择。当用户发现所要连接的用户之后,双击该用

户,则出现发送窗口。用户用之来发送消息或者文件。接收方可以选择接收或

者拒绝相应的传输文件。 2.3.1开发运行环境 开发此系统所需的基本软、硬

件环境为: (1).Windows95、 Windows98 或WindowsNT/2000/XP;

(2).Pentium100及以上档次的IBM PC及其兼容机; (3).128M以上内存措施;

(4).1G以上可用硬盘空间; (5).VGA显示器; 以上的配置均要求为在同一局域

网内的两台或两台以上。 2.3.2系统开发语言 本系统采用VC/VC++语言开发。

VC/VC++是前些年迅速发展和推广的一种计算机语言,近年来,已经相当的完

善。它主要特点有两个方面:一是全面兼容C,二是支持面向对向的方法。.

3 理论知识 3.1 C/S软件架构技术 C/S(Client/Server)结构,即大家熟知

的客户机/服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件

环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的

通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由

于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server

应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部

的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻

辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 传统的C/

S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定

的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能

提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统

开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以

上局域网用户同时使用。 3.2 用户数据报协议(UDP) UDP(User Datagram

Protocol):用户数据包协议,它和TCP一样位于传输层,和IP协议配合使

用,在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短

的文件。 由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够

确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能

收到正确的回复。这是通过使用UDP的“端口号”完成的。源端口号标识了请

求域名服务的本地机的应用程序,同时需要将所有由目的站生成的响应包都指

定到源主机的这个端口上。与TCP不同,UDP并不提供对IP协议的可靠机制、

流控制以及错误恢复功能等。由于UDP比较简单,UDP头包含很少的字节,比

TCP负载消耗少,所以UDP适用于不需要TCP可靠机制的情形,比如,当高层

协议或应用程序提供错误和流控制功能的时候。UDP是传输层协议,服务于很

多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、

域名系统(DNS)以及简单文件传输系统(TFTP)。 3.3单播、广播、组播浅

析 硬件组播(multicasting)是一种多点投递的形式,它使用硬件技术,通过

使用大量组播地址来通信。当某一组机器需要通信时,选择一个组播地址,并

配置好相应的网络接口硬件,识别组播地址,从而收到该组播地址上分组的拷

贝。广播(broadcasting)是多点投递的最普遍的形式,它向每一个目的站投

递一个分组的拷贝。它可以通过多个单次分组的投递完成,也可以通过单独的

连接传递分组的拷贝,直到每个接收方均收到一个拷贝为止。 在多数网络中,

用户是通过把分组分送给一个特殊保留的地址即广播地址(broadcast

address)来进行广播投递,它的主要缺点是会耗费大量的主机资源和网络资

源。 单播(unexacting)是指只有一个目的地的数据报传递。从投递目的地的

数量而言,单播和广播均可看作是组播的一个子集。单播可以看作仅包括一台

机器群组的组播;广播可以看作包含了所有机器群组的组播。但从数据报的投

递方式而言,单播、广播和组播还是有较大的区别。 4 系统设计 本系统主要

分为文字聊天和文件传书两大部分。所以本论文将把系统分成两大模块来介

绍。 4.1 文字聊天模块的整体构架 本系统文字聊天是采用C/S结构,所

以每个客户端也是作为服务器端的,当系统发送信息给局域网的用户,主要由

单播模块和广播模块来实现,而其中的单播模块和用户信息模块是具有依赖性

的,在接收信息的时候又有两个模块来完成,一是信息接收的模块,另一个是

信息查看的模块。 由此可以看出本模块主要分为两模块:发送模块和接收模

块。发送模块:单播模块,广播模块,用户信息模块,信息记录模块接收模

块:接收信息模块,查看信息模块