来自java文档 java.net包 – 巫

软件包 java.net

为实现网络应用程序提供类。

请参见:描述

接口摘要

ContentHandlerFactory

此接口定义内容处理程序的工厂。

CookiePolicy

CookiePolicy实现决定应该接受哪个 cookie以及应该拒绝哪个 cookie。

CookieStore

表示 cookie存储区的 CookieStore 对象。

DatagramSocketImplFactory

此接口定义用于数据报套接字实现的工厂。

FileNameMap

提供在文件名和 MIME类型字符串之间进行映射的机制的简单接口。

SocketImplFactory

此接口定义用于套接字实现的工厂。

SocketOptions

获取/设置套接字选项的方法的接口。

URLStreamHandlerFactory

该接口为 URL流协议处理程序定义一个工厂。

类摘要

Authenticator

Authenticator类表示懂得如何获得网络连接验证的对象。

CacheRequest

表示在 ResponseCache中存储资源的通道。

CacheResponse

表示从 ResponseCache获取资源的通道。

ContentHandler

抽象类 ContentHandler是从 URLConnection 读取 Object 的所有类的超类。

CookieHandler

CookieHandler对象提供一种回调机制以将 HTTP状态管理策略实现挂钩到 HTTP 协议处理程序。

CookieManager

CookieManager提供 CookieHandler的具体实现,它将 cookie 的存储区与围绕接受和拒绝 cookie的策略分离开来。

DatagramPacket

此类表示数据报包。

DatagramSocket

此类表示用来发送和接收数据报包的套接字。

DatagramSocketImpl

数据报和多播套接字实现的抽象基类。

HttpCookie

HttpCookie对象表示一个 http cookie,该 cookie带有服务器和用户代理之间的状态信息。

HttpURLConnection

支持 HTTP特定功能的 URLConnection。

IDN

提供在普通 Unicode表示形式和 ASCII 兼容性编码 (ACE) 表示形式之间进行国际化域名 (IDN) 转换的方法。

Inet4Address

此类表示 Internet Protocol version 4 (IPv4)地址。

Inet6Address

此类表示互联网协议第 6版 (IPv6) 地址。

InetAddress

此类表示互联网协议 (IP)地址。

InetSocketAddress

此类实现 IP套接字地址(IP 地址 + 端口号)。

InterfaceAddress

此类表示网络接口地址。

JarURLConnection

连接到 Java ARchive (JAR)文件或 JAR 文件中条目的 URL Connection。

MulticastSocket

多播数据报套接字类用于发送和接收 IP多播包。

NetPermission

此类可用于各种网络权限。

NetworkInterface

此类表示一个由名称和分配给此接口的 IP地址列表组成的网络接口。

PasswordAuthentication

PasswordAuthentication类是供 Authenticator使用的数据持有者。

Proxy

此类表示代理设置,通常为类型(http、socks)和套接字地址。

ProxySelector

连接到 URL引用的网络资源时选择要使用的代理服务器(如果有)。

ResponseCache

表示 URLConnection缓存的实现。

SecureCacheResponse

表示最初通过安全方法(如 TLS)获得的缓存响应。

ServerSocket

此类实现服务器套接字。

Socket

此类实现客户端套接字(也可以就叫“套接字”)。

SocketAddress

此类表示不带任何协议附件的 Socket Address。

SocketImpl

抽象类 SocketImpl是实际实现套接字的所有类的通用超类。

SocketPermission

此类表示通过套接字对网络的访问。

URI

表示一个统一资源标识符 (URI)引用。

URL

类 URL代表一个统一资源定位符,它是指向互联网“资源”的指针。

URLClassLoader

该类加载器用于从指向 JAR文件和目录的 URL 的搜索路径加载类和资源。

URLConnection

抽象类 URLConnection是所有类的超类,它代表应用程序和 URL 之间的通信链接。

URLDecoder

HTML格式解码的实用工具类。

URLEncoder

HTML格式编码的实用工具类。

URLStreamHandler

抽象类 URLStreamHandler是所有流协议处理程序的通用超类。

枚举摘要

Authenticator.RequestorType

请求验证的实体的类型。

Proxy.Type

表示代理类型。

异常摘要

BindException

试图将套接字绑定到本地地址和端口时发生错误的情况下,抛出此异常。

ConnectException

试图将套接字连接到远程地址和端口时发生错误的情况下,抛出此异常。

HttpRetryException

抛出此异常指示 HTTP请求需要重试,但由于启用了流模式而无法自动重试。

MalformedURLException

抛出这一异常指示出现了错误的 URL。

NoRouteToHostException

试图将套接字连接到远程地址和端口时发生错误的情况下,抛出此异常。

PortUnreachableException

在连接的数据报上已接收到 ICMP Port Unreachable消息时,抛出该异常。

ProtocolException

抛出此异常指示在底层协议中存在错误,如 TCP错误。

SocketException

抛出此异常指示在底层协议中存在错误,如 TCP错误。

SocketTimeoutException

如果在读取或接受套接字时发生超时,则抛出此异常。

UnknownHostException

指示主机 IP地址无法确定而抛出的异常。

UnknownServiceException

抛出这一异常指示出现了未知服务异常。

URISyntaxException

抛出经过检查的指示字符串不能解析为 URI引用的异常。

软件包 java.net的描述

为实现网络应用程序提供类。

java.net包可以大致分为两个部分:

低级 API,用于处理以下抽象:地址,也就是网络标识符,如 IP地址。套接字,也就是基本双向数据通信机制。接口,用于描述网络接口。高级 API,用于处理以下抽象:URI,表示统一资源标识符。URL,表示统一资源定位符。连接,表示到URL 所指向资源的连接。

地址

在整个 java.net API中,地址或者用作主机标识符或者用作套接字端点标识符。

InetAddress类是表示 IP(Internet协议)地址的抽象。它拥有两个子类:

用于 IPv4地址的 Inet4Address。用于 IPv6地址的 Inet6Address。

但是,在大多数情况下,不必直接处理子类,因为 InetAddress抽象应该覆盖大多数必需的功能。

关于 IPv6

并非所有系统都支持 IPv6协议,而当 Java 网络连接堆栈尝试检测它并在可用时透明地使用它时,还可以利用系统属性禁用它。在 IPv6不可用或被显式禁用的情况下,Inet6Address 对大多数网络连接操作都不再是有效参数。虽然可以保证在查找主机名时 java.net.InetAddress.getByName之类的方法不返回Inet6Address,但仍然可能通过传递字面值来创建此类对象。在此情况下,大多数方法在使用Inet6Address调用时都将抛出异常。

套接字

套接字是在网络上建立机器之间的通信链接的方法。java.net包提供 4 种套接字:

Socket是 TCP 客户端 API,通常用于连接远程主机。ServerSocket是 TCP 服务器 API,通常接受源于客户端套接字的连接。DatagramSocket是 UDP 端点 API,用于发送和接收数据包MulticastSocket是 DatagramSocket的子类,在处理多播组时使用。

使用 TCP套接字的发送和接收操作需要借助 InputStream 和 OutputStream来完成,这两者是通过 Socket.getInputStream()和Socket.getOutputStream()方法获取的。

接口

NetworkInterface类提供 API 以浏览和查询本地机器的所有网络接口(例如,以太网连接或 PPP 端点)。只有通过该类才可以检查是否将所有本地接口都配置为支持 IPv6。

高级 API

java.net包中的许多类可以提供更加高级的抽象,允许方便地访问网络上的资源。这些类为:

URI是表示在 RFC 2396中指定的统一资料标识符的类。顾名思义,它只是一个标识符,不直接提供访问资源的方法。 URL是表示统一资源定位符的类,它既是 URI的旧式概念又是访问资源的方法。 URLConnection是根据 URL 创建的,是用于访问 URL 所指向资源的通信链接。此抽象类将大多数工作委托给底层协议处理程序,如 http或 ftp。 HttpURLConnection是 URLConnection的子类,提供一些特定于 HTTP 协议的附加功能。

建议的用法是使用URI指定资源,然后在访问资源时将其转换为 URL。从该 URL可以获取 URLConnection以进行良好控制,也可以直接获取InputStream。

下面是一个示例:

URI uri = new URI("http://java.sun.com/");URL url = uri.toURL();InputStream in = url.openStream();

协议处理程序

如上所述,URL和 URLConnection 都依赖于协议处理程序,所以协议处理程序必须存在;否则将抛出异常。此为与 URI的主要不同点,URI 仅标识资源,所以不必访问协议处理程序。因此,尽管可能利用任何种类的协议方案(例如,myproto://myhost.mydomain/resource/)创建 URI,但类似的 URL仍将试图实例化指定协议的处理程序;如果指定协议的处理程序不存在,则抛出异常。

默认情况下,协议处理程序从默认位置动态加载。但是,通过设置 java.protocol.handler.pkgs系统属性也可能增加搜索路径。例如,如果将其设置为 myapp.protocols,则 URL代码将首先尝试(对于 http 而言)加载 myapp.protocols.http.Handler,然后,如果失败,则尝试从默认位置加载 http.Handler。

注意,处理程序类必须为抽象类URLStreamHandler的子类。

闲淡时光里徜徉书海。本文是旅游开心句子说说心情,希望对大家有帮助!

来自java文档 java.net包 – 巫

相关文章:

你感兴趣的文章:

标签云: