Java_网络编程_InetAddress类与Socket类

InetAddress类:

相关方法:

1.获取本机InetAddress对象 getLocalHost

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

3.获取InetAddress对象的主机名 getHostName

4.获取InetAddress对象的地址 getHostAddress

java 复制代码
package com.javaWeb.API;
import java.net.InetAddress;
import java.net.UnknownHostException;

//演示INetAddress类的使用
public class api_ {
    public static void main(String[] args) throws UnknownHostException {
        //获取本机的InetAddress对象
        InetAddress localHost = InetAddress.getLocalHost();
        System.out.println(localHost);//sayonara/172.20.10.7,返回计算机名和本机的IP地址

        //根据指定的主机名,获取InetAddress对象
        InetAddress sayonara = InetAddress.getByName("sayonara");
        System.out.println(sayonara);//sayonara/172.20.10.7

        //根据域名返回InetAddress对象,如www.baidu,com对应的InetAddress对象
        InetAddress byName = InetAddress.getByName("www.csdn.com");
        System.out.println(byName);//www.csdn.com/66.33.60.34

        //通过InetAddress对象,获取对应地址
        String hostAddress = byName.getHostAddress();//返回IP地址
        System.out.println("host2对应的IP=" + hostAddress);//host2对应的IP=66.33.60.34

        //通过InetAddress对象,获取对应的主机名/域名
        String hostName = byName.getHostName();
        System.out.println(hostName);//www.csdn.com
    }
}

Socket类:

基本介绍:

1.套接字(Socket)开发网络应用程序被广泛采用,以至于称为事实上的标准

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

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

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

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

基于Socket有两种编程方式:

TCP编程(稳定,可靠):

1.基于客户端 -- 服务端的网络通信

2.底层使用的是TCP/IP协议

3.应用场景举例:客户端发送数据,服务端接受并显示

4.基于Socket的TCP编程

UDP编程(不可靠)

相关推荐
寻星探路4 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧6 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法7 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
七夜zippoe7 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥7 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
kfyty7257 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎7 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄7 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿7 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能