Java教程

Java网络编程

本文主要是介绍Java网络编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

网络编程


  1. 网络编程中存在两个主要的问题
    • 如何准确的定位网络上的一台或多台主机
    • 找到主机后如何进行通信
  2. 网络编程的要素
    • IP和端口号
    • 网络通信协议

IP


Java中的IP类:InetAddress

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

  • 127.0.0.1 :本机(localhost)

  • IP地址的分类

    • ipv4/ipv6

      • IPV4:127.0.0.1 由4个字节组成
      • IPV6:128位,8个无符号正数
    • 公网(互联网)- 私网(局域网)

      • ABCD类地址
      • 192.168.xx.xx:专门给组织内部使用的
  • 域名:记忆IP问题(IP很值钱!!!)

在Java中使用查找IP

public class IpAddressTest {
    public static void main(String[] args) {
        try {
            //查找本机地址
            InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");   //   /127.0.0.1
            System.out.println(inetAddress1);
            InetAddress inetAddress2 = InetAddress.getByName("localhost");   //   localhost/127.0.0.1
            System.out.println(inetAddress2);
            InetAddress inetAddress3 = InetAddress.getLocalHost();           //   DESKTOP-LIM1T42/172.18.1.164
            System.out.println(inetAddress3);

            //查询网站地址
            InetAddress inetAddress4 = InetAddress.getByName("www.baidu.com");   //   www.baidu.com/180.101.49.11
            System.out.println(inetAddress4);

            //常用方法
            System.out.println(inetAddress4.getAddress());
            System.out.println(inetAddress4.getHostAddress());
            System.out.println(inetAddress4.getCanonicalHostName());
            System.out.println(inetAddress4.getHostName());
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

端口


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

  • 不同的进程有不同的端口号,用来区分软件
  • 被规定0-65535
  • TCP,UDP:单个协议下,端口号不能冲突,不同协议可以一样
  • 端口分类
    • 公有端口 0 - 1023
      • HTTP : 80
      • HTTPS : 443
      • FTP : 21
      • Telent : 23
    • 程序注册端口 1024 - 49151
      • Tomcat : 8080
      • MySQL : 3306
      • Oracle : 1521
    • 动态、私有 :49152 - 65535

在Java中使用端口

public class InetSocketAddressTest {
    public static void main(String[] args) {
        InetSocketAddress isa = new InetSocketAddress("127.0.0.1",8080);
        System.out.println(isa);

        System.out.println(isa.getAddress());
        System.out.println(isa.getHostName());
        System.out.println(isa.getHostString());
        System.out.println(isa.getPort());
    }
}
这篇关于Java网络编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!