论文部分内容阅读
网络上的系统结构多为客户/服务器模式,服务器端负责数据和图像等的存储、维护、管理以及传递,客户端则负责人机界面的操作、送出需求及显示收回的数据。
下面介绍一下如何使用JAVA来进行网络编程:由于客户端通过IE同服务器建立联系,所以客户端使用Applet,服务器端使用Application;服务器应设置成多线程,应答多个客户的请求;两端通信使用SOCKET机制。
一、Java中输入/输出流概念
过滤流Data Input Stream 和Data Output Stream除了分别作为Filter Input Stream和Filter Output Stream的子类外,还分别实现了接口Data Input 和Data Output。接口Data Input 中定义的方法主要包括从流中读取基本类型的数据、读取一行数据、或者读取指定长度的字节数。接口Data Output中定义的方法主要是向流中写入基本类型的数据或者写入一定长度的字节数组。
二、J Socket机制
Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户。Socket通信机制提供了两种通讯方式:有联接和无联接方式,分别面向不同的应用需求。
三、Java语言
Java语言的优点主要表现在:简单、面向对象、多线程、分布性、体系结构中立、安全性等方面。
(一)简单性
Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。Java实现了自动的垃圾收集,简化了内存管理的工作。这使程序设计更加简便,同时减少了出错的可能。
(二)面向对象
Java提供了简单的类机制和动态的构架模型。对象中封装了它的状态变量和方法,很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或重新定义父类或超类所提供的方法,从而既实现了代码的复用,又提供了一种动态的解决方案。
Java是一种完全面向对象的程序设计语言,它除了数组、布尔和字符三个基本数据类型外的其它类都是对象,它不再支持全局变量。在Java中,如果不创建新类就无法创建程序,Java程序在运行时必须先创建一个类的实例,然后才能提交运行。
Java同样支持继承特性,Java的类可以从其它类中继承行为,但Java只支持类的单重继承,即每个类只能从一个类中继承。
Java支持界面,界面允许程序员定义方法但又不立即实现,一个类可以实现多个界面,利用界面可以得到多重继承的许多优点而又没有多重继承的问题。
(三)多线程
多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,他们互不干涉,不会因一处等待影响其他部分,这样容易实现网络的实时交互操作。
Java程序可以有多个执行线程,如可以让一个线程进行复杂的计算,而让另一个线程与用户进行交互,这样用户可以在不中断计算线程的前提下与系统进行交互。多线程保证了较高的执行效率。
(四)分布性
Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。
(五)体系结构中立
Java是一种网络语言,为使Java程序能在网络的任何地方运行,Java解释器生成与体系结构无关的字节码结构的文件格式。Java为了做到结构中立,除生成机器无关的字节码外,还制定了完全统一的语言文本,如Java的基本数据类型不会随目标机的变化而变化,一个整型总是32位,一个长整型总是64位。
为了使Java的应用程序能不依赖于具体的系统,Java语言环境还提供了用于访问底层操作系统功能的类组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上。
(六)安全性
用于网络、分布环境下的Java必须要防止病毒的入侵,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
四、JAVA工具
(一)Java Development Kit(JDK)
JDK是Java开发工具包()的缩写。它是一种用于构建在Java平台上发布的应用程序、applet和组件的开发环境。主要有Java编译器、Java解释器、Applet viewer等。
(二)Visual J++
Visual J++集成了可视化界面设计、交互式调试、代码编辑、联机帮助信息和介绍如何快速掌握该开发环境的实用向导等多项功能,同时具有能充分利用Active X和COM新技术的优势。利用Visual J++可创建交互性很强的Internet应用程序,是难得的Java开发系统。
五、J客户机/服务器通信的实现
(一)Application同Applet的通信
两端通过Socket机制进行连接:又分为客户端的编程流程与服务器端的编程流程。正是由于Java系统具有基于Socket的灵活通信机制,因而其应用程序能自由地打开和访问网络上的对象,就像在本地文件系统中一样。
(二)Applet之间的通信
Applet之间的通信使用Applet Context类的get Applet()方法。在该课题中大量使用了该种通信方法,因为专门同服务器端通信的Applet中包含接收信息方法和发送信息方法,所有客户端的Applet都要使用负责通信的Applet中的方法,所以客户端的Applet同负责通信的Applet必须进行通信。
参考文献:
1、廖雷等.Java程序设计教程[J].中国电力出版社,2003.
2、Warton.Java多线程编程初步[N].电脑报,2004-04-10.
3、张立等.基于Client/Server模式的数据库应用软件的设计与实现[J].计算机应用研究,1999(4).
(作者单位:河南许昌学院计算机系)
下面介绍一下如何使用JAVA来进行网络编程:由于客户端通过IE同服务器建立联系,所以客户端使用Applet,服务器端使用Application;服务器应设置成多线程,应答多个客户的请求;两端通信使用SOCKET机制。
一、Java中输入/输出流概念
过滤流Data Input Stream 和Data Output Stream除了分别作为Filter Input Stream和Filter Output Stream的子类外,还分别实现了接口Data Input 和Data Output。接口Data Input 中定义的方法主要包括从流中读取基本类型的数据、读取一行数据、或者读取指定长度的字节数。接口Data Output中定义的方法主要是向流中写入基本类型的数据或者写入一定长度的字节数组。
二、J Socket机制
Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户。Socket通信机制提供了两种通讯方式:有联接和无联接方式,分别面向不同的应用需求。
三、Java语言
Java语言的优点主要表现在:简单、面向对象、多线程、分布性、体系结构中立、安全性等方面。
(一)简单性
Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。Java实现了自动的垃圾收集,简化了内存管理的工作。这使程序设计更加简便,同时减少了出错的可能。
(二)面向对象
Java提供了简单的类机制和动态的构架模型。对象中封装了它的状态变量和方法,很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或重新定义父类或超类所提供的方法,从而既实现了代码的复用,又提供了一种动态的解决方案。
Java是一种完全面向对象的程序设计语言,它除了数组、布尔和字符三个基本数据类型外的其它类都是对象,它不再支持全局变量。在Java中,如果不创建新类就无法创建程序,Java程序在运行时必须先创建一个类的实例,然后才能提交运行。
Java同样支持继承特性,Java的类可以从其它类中继承行为,但Java只支持类的单重继承,即每个类只能从一个类中继承。
Java支持界面,界面允许程序员定义方法但又不立即实现,一个类可以实现多个界面,利用界面可以得到多重继承的许多优点而又没有多重继承的问题。
(三)多线程
多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,他们互不干涉,不会因一处等待影响其他部分,这样容易实现网络的实时交互操作。
Java程序可以有多个执行线程,如可以让一个线程进行复杂的计算,而让另一个线程与用户进行交互,这样用户可以在不中断计算线程的前提下与系统进行交互。多线程保证了较高的执行效率。
(四)分布性
Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。
(五)体系结构中立
Java是一种网络语言,为使Java程序能在网络的任何地方运行,Java解释器生成与体系结构无关的字节码结构的文件格式。Java为了做到结构中立,除生成机器无关的字节码外,还制定了完全统一的语言文本,如Java的基本数据类型不会随目标机的变化而变化,一个整型总是32位,一个长整型总是64位。
为了使Java的应用程序能不依赖于具体的系统,Java语言环境还提供了用于访问底层操作系统功能的类组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上。
(六)安全性
用于网络、分布环境下的Java必须要防止病毒的入侵,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
四、JAVA工具
(一)Java Development Kit(JDK)
JDK是Java开发工具包()的缩写。它是一种用于构建在Java平台上发布的应用程序、applet和组件的开发环境。主要有Java编译器、Java解释器、Applet viewer等。
(二)Visual J++
Visual J++集成了可视化界面设计、交互式调试、代码编辑、联机帮助信息和介绍如何快速掌握该开发环境的实用向导等多项功能,同时具有能充分利用Active X和COM新技术的优势。利用Visual J++可创建交互性很强的Internet应用程序,是难得的Java开发系统。
五、J客户机/服务器通信的实现
(一)Application同Applet的通信
两端通过Socket机制进行连接:又分为客户端的编程流程与服务器端的编程流程。正是由于Java系统具有基于Socket的灵活通信机制,因而其应用程序能自由地打开和访问网络上的对象,就像在本地文件系统中一样。
(二)Applet之间的通信
Applet之间的通信使用Applet Context类的get Applet()方法。在该课题中大量使用了该种通信方法,因为专门同服务器端通信的Applet中包含接收信息方法和发送信息方法,所有客户端的Applet都要使用负责通信的Applet中的方法,所以客户端的Applet同负责通信的Applet必须进行通信。
参考文献:
1、廖雷等.Java程序设计教程[J].中国电力出版社,2003.
2、Warton.Java多线程编程初步[N].电脑报,2004-04-10.
3、张立等.基于Client/Server模式的数据库应用软件的设计与实现[J].计算机应用研究,1999(4).
(作者单位:河南许昌学院计算机系)