基于Java的局域网飞鸽传书软件
的设计与实现
【摘 要】
为了方便内部网络的用户之间的沟通,我们需要开发一个基于局域网的信息共享工具。本课题设计主要针对局域网通讯而开发设计的,采用的是C/S构架,类似飞鸽传书系统,来实现聊天、文件传输功能。
本设计以JAVA编写,能在windows 2000/net/xp等环境下运行。设计共分为五大部分,分别是:1.选题背景及意义和国内外研究现状;2.TCP/IP点对点协议技术,C/S架构和SOCKET网络编程技术;3.对系统进行需求分析并提出解决方案;4.根据解决方案设计系统;5.测试系统并得到测试结果。
【关键词】 聊天 传输 socket 飞鸽传书 C/S结构 JAVA
I
Design and Implementation IP Messenger Based on LAN and Java Technology
【Abstract】 In order to facilitate internal communication between network users, we need to develop one tool to share information. This topic design mainly aims at the local area network communication, use the C/S structure, like IP messenger, for chat and files transmission.
This system is developed by JAVA and can run in the invironment of windows 2000/net/xp . The design altogether divides into five big parts, respectively is: 1. Selected topic background and significance, domestic and foreign research present situation; 2. TCP/IP point to point protocol technology, C/S structure and socket network programming technology; 3. Analyze the demand of this system and propose the solution; 4. According to the solution we design the system; 5. Test the system and obtains the test result.
【Key words】 chat transmission socket IP messenger C/S structure java
II
目 录
绪论 ................................................................... .... 1 1 研究内容 .................................................................. 2 1.1 TCP/IP ............................................................... 2 1.2 主要研究思路和方法 .................................................... 3 1.3 研究系统的目的以及意义 ................................................ 3 1.4 JAVA SOCKET ............................................................. 3 2 系统需求分析 .............................................................. 9 2.1 系统设计目标 .......................................................... 9 2.2 系统总体需求分析 ...................................................... 9 2.3 组织结构的分析 ........................................................ 9 2.3.1 开发运行环境 ..................................................... 10 2.3.2 系统开发语言 ..................................................... 10 3 系统开发分析 ............................................................. 11 3.1 C/S软件架构技术 ..................................................... 11 3.2 用户数据报协议(UDP) .................................................. 11 3.3 单播、广播、组播浅析 ................................................. 11 4 系统设计 ................................................................. 13 4.1 文字聊天模块的整体构架 ............................................... 13 4.2 文件传输模块的主要流程图 ............................................. 17 4.3 系统主要功能模块 ..................................................... 18 4.3.1 系统的主登录界面 ................................................. 18 4.3.2 文字聊天信息的封装 ............................................... 22 4.3.3 文件传输的界面 ................................................... 25 5 系统测试 ................................................................. 34 5.1 测试环境 ............................................................. 34 5.2 测试结果 ............................................................. 34 结 论 ...................................................................... 39 参考文献 ................................................................... 40 附 录 ...................................................................... 29 致 谢 ...................................................... 错误!未定义书签。
III
绪论
当人类进入到崭新的21世纪后,网络通讯在当今已不算新鲜事物,当今世界的主题也转变为了以知识和信息为主的新时代。信息的需求量和运算量的不停增加,使得计算机通信技术有了突飞猛进的变化。网络的使用频率和使用的范围都越来越广泛,但是人们使用网络的用途主要有两个:(1)相互之间的沟通,(2)资源共享。
局域网作为网络的一个重要组成部分,它不但是用户与外界环境连接的枢纽,同时也是近距离用户之间沟通与资源共享的一个重要途径。在这种前提下,如何使局域网内的用户能够进行便捷的沟通,以及得到快速的资源共享,也就成为了人们研究网络问题的重点之一。
目前大多数网络通讯都需要借助Internet上的服务器,这就给那些具有大规模内部网络的用户造成许多问题,如浪费网络资源、遭到网络攻击、传播病毒、破坏防御系统等等。互连网上的网络通讯工具给企业内部信息交流带来了不便,所以为了方便内部网络用户之间的沟通,需要开发一个基于局域网的信息收发系统的即时通讯工具,实现内部网络的信息交流。
本系统是参考目前比较流行的局域网即时通讯软件“飞鸽传书”的基础上开发设计的,是一个局域网内的通迅工具,主要通过socket完成。它据有的主要功能有以下两点:
(1).局域网内用户间简单的文字聊天功能。 (2).局域网内用户间相互的文件、文件夹传输。
1
1 研究内容
1.1 TCP/IP
随着计算机技术和通讯技术的飞速发展,计算机网络化已经渗透到各行各业,尤其是以TCP/IP协议之间的网络互连发展速度很快,计算机应用系统的开发方向已经由传统的单机方式转向到了网络环境的开发。
网络之间每台计算机进行数据通讯时,都是使用具体地址来标识网络中的计算机,只有有了地址以后,数据才会准确地发送到地址所指向的计算机。TCP/IP协议使用IP地址为网络中计算机的标识,而且每台计算机的IP地址是唯一的,一般情况下,每台计算机运行的程序不止一个,因此要在应用程序中建立连接的话,还需要一个地址标识。[11]
TCP/IP传输控制协议/网际协议,是internet最基本的协议。供已连接因特网的计算机进行通信的通信协议。TCP/IP在私网中,它也被用作通信协议。当你直接网络连接时,你的计算机应提供一个TCP/IP程序的副本,此时接收你所发送的信息的计算机也应有一个TCP/IP程序的副本。TCP/IP是一个两层的程序。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的TCP层,接收端的TCP层把包还原为原始文件。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。网络上的网关计算机根据信息的地址来进行路由选择。即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。 TCP/IP使用客户端/服务器模式进行通信。TCP/IP通信是点对点的,意思是通信是网络中的一台主机与另一台主机之间的。在TCP/IP协议中使用了端口(PORT)作为计算机上运行的应用程序的标识,因此
2