Java net 包的一些使用:
1. 地址
与地址相关的一些类:
InetAddress
Inet4Address
Inet6Address
SocketAddress
InetSocketAddress
对于 IP 地址, InetAddress 可以表示 32bit 或 128bit 的 IP 和 TCP ,UDP 地址。 Inet4Address 表示 32bit 的 IPv4 地址,是 InetAddress 的子类, Inet6Address 表示 128bit 的 IPv6 地址,也是 InetAddress 的子类
SocketAddress 是一个表示 socket 地址的抽象类。 InetSocketAddress是它的一个子类,表示一个Socket IP 地址, 可以包含 IP 地址, port, hostname
2.
TCP
连接
关联类:
ServerSocket
Socket
用于一些client与server的简单连接。
ServerSocket是用来做server的socket,等待与监听client的接入
Socket是用来做server与client之间连接的工具,client创建Socket去与server通信,server返回Socket实例
3.
UDP传输数据包
关联类:
DatagramPacket
DatagramSocket
DatagramPacket是用来作为UDP传输数据的载体,DatagramSocket是专门做UDP传输的Socket,通过send(DatagramPacket dp)
. receive(DatagramPacket dp)
MulticastSocket,用来传输DatagramPacket到Multicast Group,是DatagramSocket的子类
4.
定位/标识网络资源
关联类:
URI
URL
URLConnection
URLClassLoader
URLStreamHandler
HttpURLConnection
JarURLConnection
一般来说,通用的是
URI
,URL,URLConnection,HttpURLConnection
从通信定义上来讲URL是
URI
的子类(同时还有URN,java中没有定义),但是在java中,
URI
与URL没有父子关系
URLConnection是用来表示应用程序和URL之间的连接的一种关系,是个抽象类
一般来说,应用程序通过ip创建URL,在通过URL.openConnection()得到URLConnection, 这个时候网络连接并没有建立,之用URLConnection.connect()之后,连接建立
HttpURLConnection则是URLConnection最常用的子类
5.
安全
5.1
认证
关联类:
Authenticator
PasswordAuthentication
5.2权限
关联类:
SocketPermission
NetPermission