Day16——网络编程

1.网络编程

Java 提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。

1.1 InetAddress类

  1. InetAddress 类主要表示 IP 地址,其一个实例就是一个ip地址。包含两个子类:Inet4Address、Inet6Address。
  2. InetAddress 类没有提供公共的构造器,而是提供了如下几个 静态方法来获取 InetAddress 实例:
    • public static InetAddress getLocalHost()
    • public static InetAddress getByName(String host)
    • public static InetAddress getByAddress(byte[] addr)
  3. InetAddress 提供了如下几个常用的方法:
    • public String getHostAddress() :返回 IP 地址字符串(以文本表现形式)
    • public String getHostName() :获取此 IP 地址的主机名
    • public boolean isReachable(int timeout):测试是否可以达到该地址

1.2 ServerSocket类

  1. ServerSocket 类的构造方法:
    • ServerSocket(int port) :创建绑定到特定端口的服务器套接字。
  2. ServerSocket 类的常用方法:
    • Socket accept():侦听并接受到此套接字的连接。

1.3 Socket类

  1. Socket 类的常用构造方法:
    • public Socket(InetAddress address,int port):创建一个流套接字并将其连接到指定 IP 地址的指定端口号。
    • public Socket(String host,int port):创建一个流套接字并将其连接到指定主机上的指定端口号。
  2. Socket 类的常用方法:
    • public InputStream getInputStream():返回此套接字的输入流,可以用于接收消息。
    • public OutputStream getOutputStream():返回此套接字的输出流,可以用于发送消息。
    • public InetAddress getInetAddress():此套接字连接到的远程 IP 地址;如果套接字是未连接的,则返回 null。
    • public InetAddress getLocalAddress():获取套接字绑定的本地地址。
    • public int getPort():此套接字连接到的远程端口号;如果尚未连接套接字,则返回0。
    • public int getLocalPort():返回此套接字绑定到的本地端口。如果尚未绑定套接字,则返回 -1。
    • public void close():关闭此套接字。套接字被关闭后,便不可在以后的网络连接中使用(即无法重新连接或重新绑定)。需要创建新的套接字对象。 关闭此套接字也将会关闭该套接字的 InputStream 和 OutputStream。
    • public void shutdownInput():如果在套接字上调用 shutdownInput() 后从套接字输入流读取内容,则流将返回 EOF(文件结束符)。 即不能在从此套接字的输入流中接收任何数据。
    • public void shutdownOutput():禁用此套接字的输出流。对于 TCP 套接字,任何以前写入的数据都将被发送,并且后跟 TCP 的正常连接终止序列。 如果在套接字上调用 shutdownOutput() 后写入套接字输出流,则该流将抛出 IOException。 即不能通过此套接字的输出流发送任何数据。

1.4 UDP网络编程

UDP(User Datagram Protocol,用户数据报协议):是一个无连接的传输层协议、提供面向事务的简单不可靠的信息传送服务,类似于短信。

1.5 URL编程

1.5.1 URL类

  1. URL(Uniform Resource Locator):统一资源定位符,它表示 Internet 上某一资源的地址。
  2. 通过 URL 我们可以访问 Internet 上的各种网络资源,比如最常见的 www,ftp站点。浏览器通过解析给定的 URL可以在网络上查找相应的文件或其他资源。
  3. URL 的基本结构由 5 部分组成:
    • <传输协议>://<主机名>:<端口号>/<文件名>#片段名?参数列表

1.5.2 URL类构造器

  1. public URL (String spec):通过一个表示 URL 地址的字符串可以构造一个URL 对象。例如:URL url = new URL(“http://www. atguigu.com/”);
  2. public URL(URL context, String spec):通过基 URL 和相对 URL 构造一个URL 对象。例如:URL downloadUrl = new URL(url, “download.html")。
  3. public URL(String protocol, String host, String file); 例如:URL url = new URL(“http”, “www.atguigu.com”, “download. html");
  4. public URL(String protocol, String host, int port, String file); 例如: URL gamelan = new URL(“http”, “www.atguigu.com”, 80, “download.html");

1.5.3 常用方法

  1. public String getProtocol( ) 获取该 URL 的协议名
  2. public String getHost( ) 获取该 URL 的主机名
  3. public String getPort( ) 获取该 URL 的端口号
  4. public String getPath( ) 获取该 URL 的文件路径
  5. public String getFile( ) 获取该 URL 的文件名
  6. public String getQuery( ) 获取该 URL 的查询名

你可能感兴趣的:(Java,SE,开发语言,java)