《Java语言程序设计》课件第9章 Java网络编程.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Java语言程序设计》课件第9章 Java网络编程.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计 Java语言程序设计课件第9章 Java网络编程 Java 语言程序设计 课件 网络 编程
- 资源描述:
-
1、第九章第九章 JAVA JAVA网络编程网络编程本章学习要点本章学习要点 了解常见的网络协议;理解套接字和端口;掌握 InetAddress 类的用法;掌握 ServerSocket 和 Socket 的用法;掌握 DatagramPacket 和 DatagramSocket 类的用法;学会筒单 TCP 程序的编写;学会 UDP 程序的编写;掌握 URL 类和 URLConnection 的用法。9.1 JAVA 9.1 JAVA 网络编程基础知识网络编程基础知识 9.1.1 9.1.1 网络协议网络协议 9.1.2 9.1.2 套接字和端口套接字和端口9.1.1 9.1.1 网络协议网络协
2、议 网络编程的目的就是直接或间接地通过网络协议与其他计算机进行通信。在Java语言中包含网络编程所需要的各种类,编程人员只需要创建这些类的对象,调用相应的方法,就可以进行网络应用程序的编写。网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义。目前的网络协议有很多种,在这里简单介绍几种常用的网络协议。9.1.1 9.1.1 网络协议网络协议 IP IP 协议协议 IP 是英文 Internet Protocol(网络之间互联的协议)的缩写,中文简称为网协,也就是为计算机网络相互连接进行通信而设计的协议。在
3、Internet 中它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在 Internet 上进行通信时应当遵守的规则。任何厂家生产的计算机系统只有遵守 IP 协议才可以与 Internet 互联。Internet 网络中采用的协议是 TCP/IP 协议,其全称是 Transmission Control Protocol/Internet Protocol。Internet 依靠 TCP/IP 协议在全球范围内实现不同硬件结构、不同操作系统、不同网络的互联。9.1.1 9.1.1 网络协议网络协议 TCP/IP定义了电子设备如何连入 Internet 以及数据如何在它们之
4、间传输的标准。协议采用4层的层级结构,分别是应用层、传输层、网络层和网络接口层。每一层都呼叫它的下一层所提供的网络来完成自己的需求。TCP 负责发现传输的问题,一有问题就发出信号要求重新传输,直到所有数据安全正确地传输到目的地,而IP是给Internet 的每一台电脑规定一个地址。9.1.1 9.1.1 网络协议网络协议 TCP TCP 与与 UDP UDP 协议协议 在网络通信中TCP协议类似于使用手机打电话,可以保证把信息传递给别人;而UDP协议类似于发短信,接收人有可能接收不到传递的信息。在网络通信中使用TCP的方式需要建立专门的虚拟连接,然后进行可靠的数据连接,如果数据发送失败,客户端
5、会自动重发该数据。而使用UDP方式不需要建立专门的虚拟连接,传输也不是很可靠,如果发送失败则客户端无法获得。TCP协议是一种以固定连线为基础的协议,它提供两台计算机之间可靠的数据传送。而UDP无连接通信协议,它不保证可靠数据的传输,但能够向若干目标发送数据以及接收来自若干源的数据。对于一些重要的数据,一般使用TCP方式来进行数据传输,而大量的非核心数据则通过UDP方式进行传递。使用TCP方式传递的速度稍微慢一点,而且传输时产生的数据量会比UDP大一点。9.1.2 9.1.2 套接字和端口套接字和端口 在网络上很多应用程序都是采用客户端/服务器(C/S)的模式,实现网络通信必须将两台计算机连接起
6、来建立一个双向的通信链路,这个双向通信链路的每一端称之为一个套接字(Socket)。一台服务器上可能提供多种服务,使用IP地址只能唯一定位到某一台计算机,却不能准确地连接到想要连接的服务器。通常使用一个065535的整数来标识该机器上的某个服务,这个整数就是端口号(Port)。端口号并不是指计算机上实际存在的物理位置,而是一种软件上的抽象。9.1.2 9.1.2 套接字和端口套接字和端口 端口号主要分为以下两类:由Internet名字和号码指派公司ICANN分配绐一些常用的应用层程序固定使用的熟知端口,其值是01023。例如HTTP服务一般使用80端口,FTP服务使用21端口。一般端口用来随时
7、分配绐请求通信的客户进程。运行在一台特定机器上的某个服务器(如FTP服务器)都有一个套接字绑定在该服务器上,服务器只是等待和监听客户的连接请求。客户端客户需要知道服务器的主机名和端口号。9.2 JAVA JAVA INETADDRESSINETADDRESS类及其常用方法类及其常用方法 Internet上的主机有两种方式表示地址,分别为域名和IP地址。包中的InetAddress类对象包含一个Internet主机地址的域名和 IP 地址。InetAddress 类提供了操作IP地址的各种方法。该类本身没有构造方法,而是通过调用相关静态方法获取实例。常用方法:方法名称方法名称说明说明boolea
8、n equals(Object obj)boolean equals(Object obj)将此对象与指定对象比较byte getAddress()byte getAddress()返回此 InetAddress 对象的原始 IP 地址static static InetAddressInetAddress getAHByNamegetAHByName(String host)(String host)在给定主机名的情况下,根据系统上配置的名称,服务器返回其 IP 地址所组成的数组static InetAddress getByAddress(byte addr)static InetAddr
9、ess getByAddress(byte addr)在给定原始 IP 地址的情况下,返回 InetAddress 对象9.3 JAVA TCP通信 9.3.1 ServerSocket 类 9.3.2 Socket 类 9.3.3 客户端与服务器端的简单通信客户端与服务器端的简单通信 9.3.4 9.3.4 传输对象数据传输对象数据9.3.1 SERVERSOCKET 类 TCP网络程序是指利用Socket编写的通信程序。利用TCP协议进行通信的两个应用程序是有主次之分的,一个是服务器程序,一个是客户端程序,两者的功能和编写方法不太一样。其中ServerSocket类表示Socket服务器端
10、,Socket类表示Socket客户端,两者之间的交互过程如下:服务器端创建一个ServerSocket(服务器端套接字),调用 accept()方法等待客户端来连接。客户端程序创建一个Socket,请求与服务器建立连接。服务器接收客户的连接请求,同时创建一个新的 Socket 与客户建立连接,服务器继续等待新的请求。9.3.1 SERVERSOCKET 类 ServerSocket类是与Socket类相对应的用于表示通信双方中的服务器端,用于在服务器上开一个端口,被动地等待数据(使用accept()方法)并建立连接进行数据交互。服务器套接字一次可以与一个套接字连接,如果多台客户端同时提出连接
展开阅读全文