java基础(4)——网络编程(1)IP、端口、 通信协议

本文介绍了Java中网络编程的基础知识,包括IP地址的分类(IPv4, IPv6)、端口的使用(0-65535,常见端口如HTTP、HTTPS、FTP等)以及通信协议的重点——TCP/IP协议簇,对比了TCP和UDP的特点。" 54427507,1358276,分页查询与数据库索引优化策略,"['数据库开发', 'SQL优化', '索引策略', '性能调优', '数据访问']
摘要由CSDN通过智能技术生成

文章目录

IP

ip地址:InetAddress

  • 唯一定位一台网络计算机

  • 127.0.0.1 本机localhost

  • ip地址分类

    • ipv4和ipv6
      • ipv4 :长度为 32 位(4 个字节)
      • ipv6 :长度为 128 位(16 个字节)
    • 公网-私网
      • A类地址范围:1.0.0.0~127.255.255.255
      • B类地址范围:128.0.0.1~191.255.255.255。
      • C类地址范围:192.0.0.1~223.255.255.255。
      • D类地址范围:224.0.0.0~239.255.255.255
      • E类地址范围:240.0.0.1~255.255.255.254
  • 域名:解决ip难记忆的问题

    获取IP的方法:

    public class TestInetAddress {
        public static void main(String[] args) throws UnknownHostException {
    
            InetAddress name = InetAddress.getByName("127.0.0.1");
            System.out.println(name);
            InetAddress name1 = InetAddress.getByName("localhost");
            System.out.println(name1);
            InetAddress name2 = InetAddress.getLocalHost();
            System.out.println(name2);
    
            InetAddress[] name3 = InetAddress.getAllByName("www.baidu.com");
            System.out.println(name3);
            InetAddress name4 = InetAddress.getByName("www.baidu.com");
            System.out.println(name4);
            System.out.println(name4.getHostName());//获取域名
            System.out.println(name4.getHostAddress());//获取ip
        }
    }
    

端口

表示计算机上的一个程序的进程

  • 不同进程有不同的端口号

  • 被规定0~65535

  • TCP UDP:相同协议下的端口不能相同,会有冲突

  • 端口分类

    • 共有端口0~1023

      • HTTP:80
      • HTTPS:443
      • FTP:21
      • Telent:23
    • 程序注册端口:1024~49151,分配给用户或者程序的

      • Tomcat:8080
      • Mysql:3306
      • Oracle:1521
    • 动态,私有:49152~65535

      netstat -ano   查看所有进程
      netstat -ano|findstr ""  查看指定端口
      tasklist|findstr "" 查看指定端口的进程 
      
public class TestSocketInetAddress {
    public static void main(String[] args) {
        InetSocketAddress address = new InetSocketAddress("localhost", 8080);
        System.out.println(address);
        System.out.println(address.getAddress());//获取地址
        System.out.println(address.getHostName());//获取域名
        System.out.println(address.getPort());//获取端口
    }
}

通信协议

TCP/IP协议簇:

  • TCP:用户传输协议
  • IP:用户数据报协议
  • IP:网络互联协议

TCP和UDP对比

  • TCP

    • 面向连接,稳定
    • 三次握手,四次挥手
    • 客户端,服务的
    • 传输完成,释放连接,效率低
  • UDP

    • 不稳定,不连接
    • 不用确定连接
    • 客户端,服务端没有明显的界限

如有不对的地方欢迎指出,共同进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值