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. 主动发起通信的应用程序被称为客户端,等待通信请求的为服务端

相关推荐
Flynn Liang4 分钟前
Spring AI ChatClient 详解:system/user/assistant 角色、call 与 stream 到底怎么选
java·人工智能·spring·springai·流式输出·chatclient·java接入大模型
Wang's Blog6 分钟前
Java 项目实战: 交友项目 - 喜欢与取消喜欢
java·开发语言·交友
摸鱼仙人~17 分钟前
校招帮简历字段匹配架构分析报告
java·前端·架构
跨知易知识产权20 分钟前
美国专利确权是什么,和专利诉讼有什么不一样?
笔记
钛生智能21 分钟前
OA 流程定制全参数详解(七):流程的生命周期——启用、停用、导出、导入
java·办公自动化·oa·协同办公·oa办公系统
杨逢昌工厂6S管理23 分钟前
126-杨逢昌6S三环体系:越做越乱的现场熵增机理与基准化治理——一线现场诊断笔记
经验分享·笔记·职场和发展·学习方法
悟道书生31 分钟前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
景熙552334 分钟前
2.什么是业务后台系统
java·spring·tomcat·mybatis·jdbc
quantdash_cc42 分钟前
如何检查滚动收益率计算中的窗口长度不足?——从数学定义到 Pandas 实现
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash