Dawn's Blogs

分享技术 记录成长

0%

Java高级 (9) 网络编程

Java 网络编程

InetAddress 类

InetAddress 类用于表示网络地址,没有公共构造器,而是提供了如下几个静态方法来获取 InetAddress 实例:

  • public static InetAddress getLocalHost()
  • public static InetAddress getByName(String host)

InetAddress 有几个常用方法:

  • **public String getHostAddress()**:返回 IP 地址字符串(以文本表现形式)。
  • public String getHostName():获取此 IP 地址的主机名。
  • public boolean isReachable(int timeout):测试是否可以达到该地址。

Socket 类

Socket 类的常用构造器:

  • public Socket(InetAddress address,int port)
  • public Socket(String host,int port)

TCP 网络编程

服务器端的工作过程:

  • 调用 ServerSocket(int port) :创建一个服务器端套接字,并绑定到指定端口上开始监听。
  • 调用 accept():监听连接请求,如果客户端请求连接,则接受连接,返回通信套接字对象。
  • 调用套接字对象的 getOutputStream() 和 getInputStream():获取输出流和输入流,开始网络数据的发送和接收。
  • 关闭 ServerSocket 和 Socket 对象:客户端访问结束,关闭通信套接字。

客户端的流程:

  • 创建 Socket:根据指定服务端的 IP 地址(域名)和端口号构造 Socket 类对象。若服务器端响应,则建立客户端到服务器的通信线路。若连接失败,会出现异常。
  • 打开连接到服务器的输入输出流: 使用 getInputStream() 方法获得输入流,使用 getOutputStream() 方法获得输出流,进行数据传输。
  • 关闭 Socket:断开客户端到服务器的连接。

UDP 网络编程

UDP 网络编程步骤:

  • 调用 DatagramSocket 和 DatagramPacket:创建一个 UDP 连接套接字、以及 UDP 数据报。
  • 调用 UDP 套接字的 send 和 receive 方法:用于数据报的发送和接收。
  • 关闭 socket

URL URI URN 的区别:

  • URI(uniform resource identifier,统一资源标识符):用来唯一的标识一个资源。

  • URL(uniform resource locator,统一资源定位符):它是一种具体的 URI,即 URL 可以用来标识一个资源,而且还指明了如何定位这个资源。

  • URN(uniform resource name,统一资源命名):是通过名字来标识资源。

URI 是以一种抽象的,高层次概念定义统一资源标识,而 URL 和 URN 则是具体的资源标识的方式。URL 和 URN 都是一种 URI。