Java重修笔记 InetAddress 类和 Socket 类

InetAddress 类相关方法
1. 获取本机 InetAddress 对象:getLocalHost

public static InetAddress getLocalHost() throws UnknownHostException

返回值:本地主机的名字和地址

异常:UnknownHostException - 如果本地主机名无法解析成地址

2. 根据指定主机名/域名来获取 IP 地址对象:getByName

public static InetAddress getByName(String host) throws UnknownHostException

返回值:给定主机名的IP地址

异常:UnknownHostException - 如果没有找到 host IP地址,或者是否为全局IPv6地址指定了scope_id。

SecurityException - 如果安全管理器存在,并且其 checkConnect 方法不允许该操作

3. 根据 InetAddress 对象获取主机名:getHostName

public String getHostName()

4. 根据 InetAddress 对象获取地址:getHostAddress

public String getHostAddress()

java 复制代码
public class API_ {
    public static void main(String[] args) throws UnknownHostException {
        // 获取本机的 InetAddress 对象
        InetAddress localHost = InetAddress.getLocalHost();
        System.out.println("localHost = " + localHost); // DESKTOP-L4UPSF9/192.168.1.4

        // 根据指定主机名/域名来获取 IP 地址对象:getByName
        InetAddress host1 = InetAddress.getByName("DESKTOP-L4UPSF9");
        System.out.println("host1 = " + host1); // DESKTOP-L4UPSF9/192.168.1.4
        InetAddress host2 = InetAddress.getByName("www.baidu.com");
        System.out.println("host2 = " + host2); // www.baidu.com/110.242.68.4

        // 根据 InetAddress 对象获取主机名 getHostName
        String hostName = host2.getHostName();
        System.out.println(hostName); // www.baidu.com

        // 根据 InetAddress 对象获取域名 getHostAddress
        String hostAddress = host2.getHostAddress();
        System.out.println(hostAddress); // 110.242.68.3
    }
}
Socket 类
  1. Socket 被称为套接字,在开发网络应用程序时被广泛采用,以至于成为事实上的标准

  2. 通信的两端都要有 Socket,是两台机器间通信的端点

  3. 网络通信其实就是 Socket 之间的通信

  4. Socket 允许程序把网络连接当成一个流,让数据在两个 Socket 之间通过 IO 流来传输

  5. 主动发起通信的应用程序被称为客户端,等待通信请求的为服务端

相关推荐
爱由芯生3 分钟前
JFinal加密你值得学习
java
MacroZheng6 分钟前
横空出世!一款开源的数据同步工具,稳定又高效,好用到爆!
java·后端·mysql
你想考研啊14 分钟前
部署tomcat应用时注意事项
java·tomcat
喵手20 分钟前
Java中的垃圾回收机制(GC),你知道如何优化吗?
java·后端·java ee
ldrtech23 分钟前
雪花id的生成与应用问题处理
java
灵魂猎手27 分钟前
7. MyBatis 的 ResultSetHandler(一)
java·后端·源码
AAA修煤气灶刘哥30 分钟前
手把手教你全流程项目部署:从 Jenkins 到 Nginx 的项目实战手册
java·运维·后端
种子q_q30 分钟前
java中static 关键字详解
java·后端·面试
only-lucky1 小时前
C++中的 Eigen库使用
开发语言·c++
bianshaopeng1 小时前
ubuntu go 环境变量配置
开发语言·ubuntu·golang