<b>Java在Client/Server网络中的操纵</b>[Java编程]
本文“<b>Java在Client/Server网络中的操纵</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
随着Java语言的日益风行,分外是Java与Internet Web的密切结合,使它在 环球获得了宏大的成功.Java语言以其独立于平台、面向对象、分布式、多线索 及完善的安全机制等特点,成为现代信息系统建立中的杰出的开辟平台和运行环 境.
1、Java网络利用模子
和Internet上的很多环境一样,完好的Java利用环境实际上也是一个客户机/ 服务器环境,更切当地说是浏览器/服务器模子(即Browser/Server模子,简称 Web模子).但与传统的客户机/服务器(C/S) 的二层构造差别,利用Java的Web 模子是由三层构造构成的.传统的C/S构造通过消息传送机制,由客户端发出请 求给服务器,服务器举行呼应处理后经传送机制送回客户端.而在Web模子中, 服务器一端被分化成两部份:一部份是利用服务器(Web 服务器),另一部份是数 据库服务器.
针对分布式计算环境,Java通过其网络类库供应了杰出的支持.对数据分布 ,Java供应了一个URL(Uniform Resource Locator) 对象, 操纵此对象可翻开 并拜候网络上的对象,其拜候方法与拜候本地文件系统几近完好相同.对操作分 布,Java的客户机/ 服务器情势可以把运算从服务器分离到客户一端(服务器负 责供应查询后果,客户机负责组织后果的显示),从而提高整个系统的履行效率 ,增添动态可扩大性.Java网络类库是Java 语言为适应Internet 环境而举行的 扩大.别的,为适应Internet的不断发展,Java还供应了动态扩大协议,以不断 扩大Java网络类库.
Java的网络类库支持多种Internet协议,包含Telnet, FTP 和HTTP (WWW), 与此相对应的Java网络类库的子类库为:
Java.net
Java.net.ftp
Java.net.www.content
Java.net.www.html
Java.net.www.http
这些子类库各自包容了可用于处理Internet协议的类和办法.此中, java.net用于处理一些基本的网络功效,包含远程登录(Telnet);java.net.ftp 用于处理ftp协议;java.net.www.content用于处理WWW 页面内容; java.net.www.html 和java.net.www.http 则辨别供应了对HTML 语言和HTTP 协 议的支持.
2、客户机/服务器环境下的Java利用程序
客户机/服务器在分布处理历程中,利用基于衔接的网络通信情势.该通信模 式首先在客户机和服务器之间定义一套通信协议,并成立一Socket类,操纵这个 类成立一条坚固的链接;然后,客户机/服务器再在这条链接上坚固地传输数据 .客户机发出恳求,服务器监听来自客户机的恳求,并为客户机供应呼应服务. 这就是典型的"恳求-- 应答" 情势.下面是客户机/服务器的一个典型运作历程 :
1、服务器监听呼应端口的输入;
2、客户机发出一个恳求;
3、服务器接纳到此恳求;
4、服务器处理这个恳求,并把后果返回给客户机;
5、反复上述历程,直至完成一次会话历程.
按照以上历程,我们利用Java语言编写一个辨别针对服务器和客户机的利用 程序(Application).该程序在服务器上时,程序负责监听客户机恳求,为每 个客户机恳求成立Socket 衔接,从而为客户机供应服务.本程序供应的服务为 :读取来自客户机的一行文本,反转该文本,并把它发回给客户机.
通过该程序实例我们看到,利用Java语言计划C/S程序时需求注意以下几点:
(1)、 服务器应利用ServerSocket 类来处理客户机的衔接恳求.当客户机 衔接到服务器所监听的端口时,ServerSocket将分配一新的Socket 对象.这个 新的Socket 对象将衔接到一些新端口,负责处理与之相对应客户机的通信.然 后,服务器持续监听ServerSocket,处理新的客户机衔接.
Socket 和ServerSocket 是Java网络类库供应的两个类.
(2)、服务器利用了多线程机制.Server对象本身就是一个线程,它的run ()办法是一个无限循环,用以监听来自客户机的衔接.每当有一个新的客户机连 接时,ServerSocket就会成立一个新的Socket类实例,同时服务器也将成立一新 线程,即一个Connection 对象,以处理基于Socket 的通信.与客户机的全部通 信均由这个Connection 对象处理.Connection的构造函数将初始化基于Socket 对象的通信流,并启动线程的运行.与客户机 的通信以及服务的供应,均由 Connection对象处理.
(3)、客户机首先成立一Socket对象,用以与服务器通信.之后需成立两个 对象:DataInputStream 和PrintStream,前者用以从Socket 的InputStream 输 入流中读取数据,后者则用于往Socket的OutputStream 中写数据.最后,客户 机程序从尺度输入(如:掌握台)中读取数据,并把这些数据写到服务器,在从 服务器读取应答消息,然后把这些应答消息写到准输出.
以下辨别为服务器和客户机端的源程序清单.本程序在NT 4.0 网络环境 (TCP/IP)下利用JDK1.1 调试通过.
以上是“<b>Java在Client/Server网络中的操纵</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |