java网络 编程

java网络 编程

ID:34472011

大小:90.42 KB

页数:29页

时间:2019-03-06

java网络 编程_第1页
java网络 编程_第2页
java网络 编程_第3页
java网络 编程_第4页
java网络 编程_第5页
资源描述:

《java网络 编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第18章网络本章讨论支持网络应用的java.net包。它的创建者称Java为“为网络编程”。尽管它只占Java的一小部分,与C++或FORTRAN相比,这种编程语言更有利于编写网络程序。使Java成为好的网络语言的正是java.net包定义的类。这些类包装了由加州大学的伯克利分校的BSD引入的“套接字(socket)”范型。如果不简单介绍UNIX和BSD套接字的历史对Internet网络库的讨论就是不完整的。18.1网络基础1969年,KenThompson和DennisRitchie在MurrayHill,NewJersey的贝尔电话实验室开发了与C

2、语言一致的UNIX。很多年来,UNIX的发展停留在贝尔实验室和一些大学及研究机构,用特意设计的DECPDP机器运行。到了1978年,BillJoy在CalBerkeley领导了一个项目,给UNIX增添新的特性,例如虚拟内存和全屏显示功能。到了1984年早期,当Bill正准备建立SunMicrosystems,它发明了4.2BSD,即众所周知的BerkeleyUNIX。4.2BSD带有快速文件系统、可靠信号处理、进程间通信以及最重要的网络功能。最先在4.2中发现的网络支持后来成为了实际的Internet标准。Berkeley的TCP/IP实现保留了在In

3、ternet内通信的最初的标准。进程间和网络通信的套接字范型被Berkeley以外的系统广泛采用。甚至Window和Macintosh在20世纪80年代晚期也开始和“Berkeley套接字”谈话。18.1.1套接字概述网络套接字(networksocket)有一点像电源插座。网络周围的各式插头有一个标准方法传输它们的有效负载。理解标准协议的任何东西都能够插入套接字并进行通信。对于电源插座,不论你插入一个电灯或是烤箱,只要它们使用60HZ,115伏电压,设备将会工作。思考一下你的用电账单是怎样生成的。在你的房子和电网支架间可能有1米的距离,经过这一米的每

4、千瓦电都将列入账单。账单到达你的“地址”。所以,虽然电流在电源插座周围是自由流动的,你房子的所有插头都是有特定的地址的。除了我们谈论的是TCP/IP包和IP地址而不是电器和街道地址外,同样的思想被应用到网络套接字。InternetProtocol(IP)是一种低级路由协议。该协议将数据分解成小包然后通过网络传到一个地址,它并不确保传输的信息包一定到达目的。传输控制协议(TCP)是一种较高级的协议,它把这些信息包有力的捆绑在一起,在必要的时候,排序和重传这些信息包以获得可靠的数据传输。第三种协议,用户数据报协议(UDP)几乎与TCP协议相当,并能够直接用

5、来支持快速的、无连接的、不可靠的信息包传输。400第2部分Java库18.1.2客户/服务器模式你经常在与网络有关的话题中听说客户/服务器(client/server)这个术语。在一些产品说明中,这个概念似乎非常复杂,其实它的含义很简单。服务器(server)就是能够提供共享资源的任何东西。现在有计算服务器,提供计算功能;打印服务器,管理多个打印机;磁盘服务器,提供联网的磁盘空间;以及Web服务器,用来存储网页。客户(client)是简单的任何有权访问特定服务器的实体。客户和服务器之间的连接就像电灯和电源插头的连接。房间的电源插座是服务器,电灯是客户。

6、服务器是永久的资源,在访问过服务器之后,客户可以自由的“拔去插头”。在Berkeley套接字中,套接字的概念允许单个计算机同时服务于很多不同的客户,并能够提供不同类型信息的服务。该种技术由引入的端口(port)处理,此端口是一个特定机器上的被编号的套接字。服务器进程是在“监听”端口直到客户连到它。尽管每个客户部分是独特的,一个服务器允许在同样端口接受多个客户。为管理多个客户连接,服务器进程必须是多线程的,或者有同步输入/输出处理多路复用技术的其他方法。18.1.3保留套接字一旦连接成功,一个高级的协议跟着生效,该协议与所使用的端口有关。TCP/IP为特

7、定协议保留了低端的1024个端口。如果你在网络上冲浪有一些时间了,那么这中间的很多你已经很熟悉了。端口21是为FTP的,23是Telnet,25是为e-mail,79是为finger的,80是HTTP,119是为网络新闻的——等等。下面该轮到讲述每个协议决定客户如何与端口交互了。举例来说,HTTP是网络浏览器及服务器用来传输超文本网页和图像的协议。它是基本网页浏览服务器的一个非常简单的协议。下面是它的工作原理。当一个客户向一个HTTP服务器请求一个文件时,即一个点击动作,它仅仅以一种特定格式向预先指定的端口打印文件名然后读回文件的内容。服务器同样对状态

8、代码编号反应,告诉客户请求是否被执行以及原因。下面是一个例子。客户请求单个文件/index.h

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。