当前位置:首页 > (完整版)基于Java的网络聊天工具的开发与实现毕业论文设计
来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。
(二)丰富的类库Java提供了大量的类以满足网络化、多线程、面向对象系统的需要。
1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等,可以用它简单地实现Java程序的运行平台。
2.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。
3.输入输出包用统一的流模型来实现所有格式的IO,包括文件系统、 网络、输入
4.低级网络包用于实现Socket编程。
5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件, 包括窗口、菜单、滚动条、对话框等,使得Java可以移植到不同平台的机器。
6.网络包支持Internet的TCPIP协议,提供了与Internet的接口。它支持URL连接,WEB即时访问,并且简化了CS模型的程序设计。
1.2.2 TCPIP
(1) TCPIP协议的特点:
TCPIP(Transmission Control ProtocolInternet Protocol)是传输控制协议网际协议的缩写, TCPIP是当今网络互联的核心协议。TCPIP协议的体系结构共有四个层次,即应用层、传输层、网络互联层和网络接口层。
IP协议的作用:第一,它是网络层的协议,提供互联网上数据传输的统一格式。第二,提供不可靠的无连接的服务。第三,定义了互联网上的传输数据的基本单元,提供了供路由选择的信息,没有差错校验和处理的
机制。
TCPIP协议具有以下特点:
1、 协议标准具有开放性,其独立于特定的计算机硬件及操作系统,可以免费使用。
2、 统一分配网络地址,使得每个TCPIP 设备在网络中都具有唯一的IP地址。
3、 实现了高层协议的标准化,能为用户提供多种可靠的服务。 (2)TCPIP协议进行传输数据传输的过程:
应用程序为了传输数据会调用TCP,将数据和对应的参数传给TCP,将TCP 数据包封装在IP包内,通过网络送给目的TCP。接收方TCP在接收到数据后通知上层应用程序,TCP将保证接收数据的正确性。TCP调用IP接口,向TCP提供所有TCP需要的服务。 (3)端口号:
有的时候,一个IP地址不能完整的标识一台服务器,这是应为一台物理性的计算机同时运行着多个应用程序,这就需要我们来区别同一台机子上的不同的服务,所以就在传输层和应用层上设置接口,就是端口。端口实际是一个16位长的 地址,他的范围是0~65535之间,其中0~1023是熟知端口,主要是给提供服务的应用程序使用,这些端口是所有应用进程都只道的,1024~65535为一般端口,也称动态端口、连接端口,用来随时分配要求通信的客户端应用程序。在数据传输过程中,各种服务器不断的检测分配给他的端口,一边发现要求和他通信的客户端。
1.2.3 Socket
Socket,简称套接字,用于实现网络上客户和服务器之间的连接。也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这
个连接的端点成为套接字,套接字是在比较低的层次上通信的。
具体的说:一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个Socket建立连接,客户端通过写Socket来通知服务器,以读Socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。服务器也通过它的本地端口连接一个socket,通过读写和客户端通信。
Socket程序的工作过程:
1、建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。
2、数据通信:利用虚拟连接通道传送数据信息进行通道。 3、关闭:通信结束时,再将所建的虚拟连接拆除。 具体如下
图1.1 Socket套接字原理图
1.3开发工具
1.3.1 Eclipse
集成开发环境(Integrated Development,简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、debug功能
等一体化的开发软件套。所有具备这一特性的软件或者软件套(组)都可以叫做IDE。
Eclipse只是一个框架软件,本身不能开发程序,但它可以安装各种插件。正是运行在Eclipse平台上的种种插件,提供了程序开发的各种功能。同时各个领域的开发人员通过开发插件,可以构建与Eclipse环境无缝集成的工具。
Eclipse是一个非常成功的开源项目,相对比Borland公司的王牌JBuilder来说,拥有绿色软件、免费、插件多、功能强大等优点,相对于现阶段的开发来说,使用Eclipse作为开发工具是最好的选择。
Eclipse是绿色软件,其下载与安装非常简单,但是如果需要使用Eclipse来开发J2EE,为了提高开发的效率,可以下载MyEcilpse插件或者Lomboz插件,其中Myeclipse是收费软件,可以直接下载exe进行安装,而Lomboz是开源插件,其使用是完全免费的。
1.3.2 StarUML
StarUML是一个开源的UML建模工具,它遵守GNU GPL开源条约,StarUML项目宣称的目标是代替大型的商业UML工具软件,如IBM的Rational Rose,Borland公司的Together。它具有如下一些特点: ? 可绘制多种UML图:用例图、类图、时序图、状态图、活动图等。 ? 完全免费:StarUML是一套开放源码的软件,不仅免费自由下载,连代码都免费开放。
? 可导出多种格式图片:JPG、JPEG、BMP等格式的图片文件。 ? 正反向工程:StarUML可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。反向工程有两个主要用途,其一是旧有的源码反转成图之后,可以构建UML模型的方式继续
共分享92篇相关文档