第12章Java的网络功能
第12章 Java的网络功能
概述 a TCP/IP(Transmission Control Protocol/ Internet Protocol,传输控制协议/网 间协议) 包括五个层次:应用层、传输层、网络层、链 路层、物理层 ISO/OSI网络参考模型 包括七个层次:应用层、表示层、会话层、传 输层、网络层、链路层、物理层
概述 ▪ TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网 间协议) ▪ 包括五个层次:应用层、传输层、网络层、链 路层、物理层 ▪ ISO/OSI网络参考模型 ▪ 包括七个层次:应用层、表示层、会话层、传 输层、网络层、链路层、物理层
概述 IP地址 网络中的硬件资源标识 是一个32位的整数,通常以“%d.%%d%d”的形式表 示,每个d是一个8位整数 端口号(port) 标记机器的逻辑通信信道的正整数,不是物理实体 个16位的整数表达,其范围为0~65535,其中0 1023为系统所保留 Socket(套接字) 网络上运行的程序之间双向通信链路的最后终结点, 是TCP和UDP的基础
概述 ▪ IP地址 ▪ 网络中的硬件资源标识 ▪ 是一个32位的整数,通常以“%d.%d.%d.%d”的形式表 示,每个d是一个8位整数 ▪ 端口号(port) ▪ 标记机器的逻辑通信信道的正整数,不是物理实体 ▪ 一个16位的整数表达,其范围为0~65535,其中0~ 1023为系统所保留 ▪ Socket(套接字) ▪ 网络上运行的程序之间双向通信链路的最后终结点, 是TCP和UDP的基础
概述 TCP协议 ■具有可靠性和有序性,并且以字节流的方式发送数据, 它通常被称为流通信协议。 端点与端点之间建立持续的连接 当对所传输的数据具有时序性和可靠性等要求时,应 使用TCP协议 用户数据报协议UDP 种无连接的传输协议 需要将传输的数据定义成数据报( Datagram),在数据 报中指明数据所要达到的端点( Socket,主机地址和端 口号),再将数据报发送出去 传输的数据比较简单、对时序等无要求时应使用UDP 协议
概述 ▪ TCP协议 ▪ 具有可靠性和有序性,并且以字节流的方式发送数据, 它通常被称为流通信协议。 ▪ 端点与端点之间建立持续的连接 ▪ 当对所传输的数据具有时序性和可靠性等要求时,应 使用TCP协议 ▪ 用户数据报协议UDP ▪ 一种无连接的传输协议 ▪ 需要将传输的数据定义成数据报(Datagram),在数据 报中指明数据所要达到的端点(Socket,主机地址和端 口号),再将数据报发送出去 ▪ 当传输的数据比较简单、对时序等无要求时应使用UDP 协议
Java的网络功能 按层次及使用方法分为四大类 InetAddress 面向IP层,用于标识网络上的硬件资源 URL 面向应用层,可以通过URL的网络资源表达形式确 定数据在网络中的位置 Socket 面向传输层,使用的是TCP协议 Datagram 面向传输层,使用的是UDP协议,是另一种网络传 输方式,它把数据的目的地记录在数据包中,然后 直接放在网络上
Java的网络功能 ▪ 按层次及使用方法分为四大类 ▪ InetAddress 面向IP层,用于标识网络上的硬件资源 ▪ URL 面向应用层,可以通过URL的网络资源表达形式确 定数据在网络中的位置 ▪ Socket 面向传输层,使用的是TCP协议 ▪ Datagram 面向传输层,使用的是UDP协议,是另一种网络传 输方式,它把数据的目的地记录在数据包中,然后 直接放在网络上
java. net主要的类及例外 面向P层的类: InetAddress 面向应用层的类 URL、 URLConnection 面向网络层中与TP协议相关的类: Socket、 ServerSocket 面向网络层中与D协议相关的类: DatagramPacket、 DatagramSocket、 Multicastsocket 可能产生的例外有: BindException ConnectException MalformeduRLException NoRoute ToHostException、 ProtocolException、 SocketException UnknownHostException UnknownServiceException
java.net主要的类及例外
使用 Inetaddress 构造一个 netAddress实例 没有构造函数,因此不能用new来构造 public static Inet Address get ByName(String host) public static Inet Address getLocalHosto public static Inet Address getAllByName(String host) host可以是一台机器名,也可以是 个形如“%d.%d.%d%d”的IP地 址或一个DSN域名
使用InetAddress ▪ 构造一个InetAddress实例 ▪ 没有构造函数,因此不能用new来构造 public static InetAddress getByName(String host); public static InetAddress getLocalHost(); public static InetAddress[] getAllByName(String host) host可以是一台机器名,也可以是 一个形如“%d.%d.%d.%d”的IP地 址或一个DSN域名
Inetaddress类主要方法 public bytel getAddressO 获得本对象的IP地址(存放在字节数组中) public String getHostAddresso 获得本对象的P地址“%d.%d.%d.%d public String getHostNameo 获得本对象的机器名
InetAddress类主要方法 ▪ public byte[] getAddress() ▪ 获得本对象的IP地址(存放在字节数组中) ▪ public String getHostAddress() ▪ 获得本对象的IP地址“%d.%d.%d.%d” ▪ public String getHostName() ▪ 获得本对象的机器名
程序12-1 演示Java如何根据域名自动到DNS(域名服 务)上查找IP地址程序12-1 执行GetP后,可以得到下列信息: www.nankaiedu.cn/202.113.16.33 获取本机的P地址例12- c命令提示符 D: \ava\program\chapter11>javac GetLocalHostTestjava D: ava\program \chapter11>java GetLocalHostTest wenxi/18.93121.28 java\program\chapterl1> 本机名称和地址
程序12-1 ▪ 演示Java如何根据域名自动到DNS(域名服 务)上查找IP地址 程序12-1 ▪ 执行GetIP后,可以得到下列信息: www.nankai.edu.cn/202.113.16.33 ▪ 获取本机的IP地址 例12-1 本机名称和地址
统一资源定位器 URL是 Uniform Resource locator(统一资源 定位器)的缩写,它表示 Internet上某一资 源的地址 nternet上的资源包括HTML文件、图象文件 声音文件、动画文件以及其他任何内容 URL包括两部分内容 协议名称和资源名称,中间用冒号隔开 Protocol: resourceName
统一资源定位器 ▪ URL是Uniform Resource Locator(统一资源 定位器)的缩写,它表示Internet上某一资 源的地址 ▪ nternet上的资源包括HTML文件、图象文件、 声音文件、动画文件以及其他任何内容 ▪ URL包括两部分内容 ▪ 协议名称和资源名称,中间用冒号隔开 Protocol: resourceName