洁、流畅的特点安排布局,在编制程序时应充分考虑数据传输的稳定、快捷,真正做到“简洁、高效、流畅、安全”的使用环境。用户使用的过程大致为:
用户开启本软件,软件自动检索局域网的其它用户,显示用户列表,用鼠标可以任意选择用户列表里面的用户。当发现需要连接某个用户之后,双击该用户,则弹出对话窗口。用户可以在这里发送消息或者文件。作为接收方的话,可以选择接收或者拒绝相应的传输文件。
2.3 组织结构的分析
组织结构图如图1所示:
图1 组织结构图
2.3.1 开发运行环境
开发运行本系统所需要的软、硬件环境为:
13
(1). Pentium100及以上档次的IBM PC及其兼容机; (2). Windows95、 Windows98 或WindowsNT/2000/XP; (3). 1G以上可用硬盘空间; (4). 128M以上内存措施; (5). 显示器;
以上的配置要求为同一局域网内的计算机两台或两台以上。 2.3.2 系统开发语言
本系统是在Windows XP操作系统下,采用eclipse 开发工具,使用Java语言开发的。
Java是一种很优秀的编程语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。是目前软件设计中极为壮健的编程语言,Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响。Java作为一种程序设计语言,它简单、面向对象、不依赖于机器的结构、具有可移植性、安全性、并且提供了并发的机制,具有很高的性能。其次, Java还提供了丰富的类库涉及加解密、消息摘要等,使程序设计者可以很方便地调用这些方法进行二次开发。另外,在JDBC诞生之后,Java在数据库应用领域获得了成功的应用,大大降低了Java语言操作数据库的复杂程度,可以将重心放在功能实现上。[3]
3 系统开发分析
14
3.1 C/S软件架构技术
C/S(Client/Server)结构,即大家熟知的客户机/服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。[6]
3.2 用户数据报协议(UDP)
UDP(User Datagram Protocol):用户数据包协议,它和TCP一样位于传输层,和IP协议配合使用,在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。
由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用UDP的“端口号”完成的。源端口号标识了请求域名服务的本地机的应用程序,同时需要将所有由目的站生成的响应包都指定到源主机的这个端口上。与TCP不同,UDP并不提供对IP协议的可靠机制、流控制以及错误恢复功能等。由于UDP比较简单,UDP头包含很少的字节,比TCP负载消耗少,所以UDP适用于不需要TCP可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。UDP是传输层协议,服
15
务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)。[8]
3.3 单播、广播、组播浅析
硬件组播(multicasting)是一种多点投递的形式,它使用硬件技术,通过使用大量组播地址来通信。当某一组机器需要通信时,选择一个组播地址,并配置好相应的网络接口硬件,识别组播地址,从而收到该组播地址上分组的拷贝。广播(broadcasting)是多点投递的最普遍的形式,它向每一个目的站投递一个分组的拷贝。它可以通过多个单次分组的投递完成,也可以通过单独的连接传递分组的拷贝,直到每个接收方均收到一个拷贝为止。
在多数网络中,用户是通过把分组分送给一个特殊保留的地址即广播地址(broadcast address)来进行广播投递,它的主要缺点是会耗费大量的主机资源和网络资源。
单播(unexacting)是指只有一个目的地的数据报传递。从投递目的地的数量而言,单播和广播均可看作是组播的一个子集。单播可以看作仅包括一台机器群组的组播;广播可以看作包含了所有机器群组的组播。但从数据报的投递方式而言,单播、广播和组播还是有较大的区别。[8]
4 系统设计
4.1 文字聊天模块的整体构架
本系统文字聊天是采用C/S结构,所以每个客户端也作为服务器端,当
16
系统发送信息给局域网的用户,主要由单播模块和广播模块来实现,而其中的单播模块和用户信息模块是具有依赖性的,在接收信息的时候又有两个模块来完成,一是信息接收的模块,另一个是信息查看的模块。
(1).发送模块:单播模块,广播模块,用户信息模块,信息记录模块。 (2).接收模块:接收信息模块,查看信息模块。 综上所述,系统的架构图如图2所示:
图2系统架构图
4.2 文件传输模块的主要流程图
由于本模块采用C/S架构故将系统运行载体分为两个部分:客户端与服务器端。文件传输需要建立有效的连接后,通过TCP/IP协议实现点对点的文件传输。通信双方是通过三次握手建立连接,实现文字、文件传输,最后关闭套节字3所示:
连接。整个流程图如图
17