工程技术学院毕业设计(论文)专用纸
1 绪论
随着互联网逐步普及,互联网技术的逐步提高。人们的工作和生活也越来越离不开网络,而即时聊天是人们最常见、最直接的online交流的方式。本系统以聊天功能为主,通过网络为用户提供一个人际交流的平台。本文所介绍的网络聊天系统是基于JAVA编程语言开发设计的,其主要特性是能动态、实时的完成消息的传递,且具有高效的交互性,能更有效的处理客户请求,其运行时所需环境及工作流程和各模块的工作原理将在本文依次介绍,并且文中提供了全部程序源代码。 1.1 JAVA
的网络功能与编程
1.1.1 JAVA概述
Java是一个由Sun公司开发的新一代高级编程语言。它可在各式各样不同机器、不同操作平台的网络环境中开发软件。不论你使用的是哪种WEB浏览器,哪种计算机,哪种操作系统,只要WEB浏览器上面注明了“支持Java”,并且装有JAVA控件,你就可以看到生动的主页。Java正在逐步成为Internet应用中最主要的开发语言,它彻底改变了软件开发模式,带来了自PC机以来又一次革命,为飞速发展的网络世界增添了新的动力。
Sun的Java语言开发小组成立于1991年,Sun内部人员把这个项目称为Green。该小组的领导人是James Gosling,是一位非常杰出的程序员。在研发过程中,Gosling深刻体会到消费类电子产品和工作站产品的差异:消费类电子产品要求可靠性高、费用低、标准化、使用简单。
Gosling在开始写Java时,并不局限于扩充语言机制本身,更注重于语言所运行的
1 第 页
工程技术学院毕业设计(论文)专用纸
软硬件环境。他要建立一个系统,运行于一个巨大的、分布的、异构的网格环境中,完成各设备之间的通信与协同工作。Gosling在设计中采用了虚机器码方式,即Java语言编译后产生虚拟机,虚拟机运行在一个解释器上,每一个操作系统均有一个解释器。这样一来,Java就成了跨平台语言。
Patrick Naughton也是Sun公司的技术骨干,曾经是OpenWindows项目的负责人。当Naughton加入该小组后,工作进展神速。经过17个月的奋战,整个系统胜利完成。它是由一个操作系统、一种语言、一个用户界面、一个新的硬件平台、三块专用芯片构成的。通常情况下,这样的项目在Sun公司要75个人干三年。项目完成后,在Sun公司内部做了一次展示和鉴定,观众的反应是:在各个方面都采用了崭新的、大胆的技术。
到了1994年,internet已如火如荼地发展起来。Gosling意识到internet需要一个浏览器,它不依赖于任何平台,它应是一种实时性较高、可靠安全、又有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。
Java虽出现的时间不长,但已完全被业界接受,IBM、Apple、Silicon Graphics、HP、Oracle、Toshiba、Netscape和Microsoft等大公司已经购买了Java的许可证。Microsoft还在其Web浏览器Explorer3.0版中增加了对Java的支持。
众多的软件开发商也开发了许多支持Java的软件产品。如:Borland公司的基于Java的快速应用程序开发环境Latte;Metrowerks公司和Natural Intelligence公司分别开发的基于Machintosh的Java开发工具;Sun公司的Java开发环境JavaWorkshop;Microsoft也开发出系列Java产品。数据库厂商如Sybase,Oracle等都在开发支持HTML和Java的CGI。
Intranet正在成为企业信息系统最佳的解决方案。它的优点表现在:便宜、易于使用和管理。用户不管使用何种类型的机器和操作系统,界面是统一的Web浏览器,而
2 第 页
工程技术学院毕业设计(论文)专用纸
数据库、Web页面、应用程序则存在WEB服务器上。
未来的计算方式,每个HomePage的实质是一个多媒体应用程序,这些程序用Java来开发。Java应用程序运行在不同的机器、不同的操作系统之上,甚至于电冰箱、烤面包箱、防盗电子设备之中,用Internet把所有的电子设备连接起来,通过TCP/IP进行信息的交流。
Java的出现是计算机信息交换的一个重要里程碑。在单机时代,程序进程之间靠共享存储进行变量交换;在网络时代,运行在不同主机上的程序按网络协议进行二进制字符流交换,语义由交换双方维护;在Java时代,运行在网络上的程序进程交换的是小应用程序。
随着Internet的崛起、Java的诞生,巨型而臃肿的应用软件开始向小型化发展,由众多生活在Internet上的小应用程序相互协作完成信息的处理与传递。Java会加速应用软件的小型化、网络化的趋势。随着互联网的发展,软件必然是面向大众的,薄利多销将是网络应用软件的重要特点。信息的价值在于使用和共享,Internet和Web是信息的使用和共享最快捷、最便宜的方式,Word将演化成为Web写作工具,Excel则将演化成Web电子表格。
1.1.2 JAVA的特点
(一)JAVA的主要特点
Java语言有下面一些特点:简单、面向对象、分布式、解释执行、 安全、体系结构中立、可移植、高性能、多线程以及动态性。
1.简单
Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务。Java略去了运算符重载、多重继承等模糊的概念,且通过实现自动垃圾收集大大简化了
3 第 页
工程技术学院毕业设计(论文)专用纸
程序设计者的内存管理工作。
2.面向对象
Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。
3.分布性
Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。
4.安全性
用于网络、分布环境下的Java必须要防止病毒的入侵。Java不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用 “特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
5.体系结构中立
Java解释器生成与体系结构无关的指令,Java程序可在任意的处理器上运行。这些指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。
6.可移植性
与平台无关的特性使Java程序可以方便地被移植到网络的不同机器上。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java 系统本身也具有可移植性。
7.解释执行
Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,
4 第 页
工程技术学院毕业设计(论文)专用纸
使得连接过程更加简单。
8.高性能
和其它解释执行的语言如BASIC不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。
9.多线程
多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。
10.动态性
Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入 新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。
(二)丰富的类库Java提供了大量的类以满足网络化、多线程、面向对象系统的需要。
1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等,可以用它简单地实现Java程序的运行平台。
2.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。 3.输入输出包用统一的流模型来实现所有格式的I/O,包括文件系统、 网络、输入 4.低级网络包用于实现Socket编程。
5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件, 包括窗口、菜单、滚动条、对话框等,使得Java可以移植到不同平台的机器。
6.网络包支持Internet的TCP/IP协议,提供了与Internet的接口。它支持URL连
5 第 页