java net 学习(一)
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(DatagramPacketdp). receive(DatagramPacket dp)
MulticastSocket,用来传输DatagramPacket到MulticastGroup,是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
?
?