计网小知识

网络编程

1.1、概述

1.2、网络通信的要素

小结:

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

1.3、IP

ip地址:InerAddress

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

  • 127.0.0.1:本机 localhost

  • ip地址的分类

    • ipv4/ipv6
      • IPV4 127.0.0.1 4个字节组成,0-255,42亿
      • IPV6 128位,8个无符号整数
    • 公网-私网
      • ABCD类地址
      • 192.168.xx.xx,专门给组织内部使用
  • 域名:记忆IP问题

    public static void main(String[] args) {
            try {
                //查询本机地址
                InetAddress inetaddress1 = InetAddress.getByName("127.0.0.1");
                System.out.println(inetaddress1);
                InetAddress inetaddress3 = InetAddress.getByName("localhost");
                System.out.println(inetaddress3);
                InetAddress inetaddress4 = InetAddress.getLocalHost();
                System.out.println(inetaddress4);
    
                //查询网站ip地址
                InetAddress inetaddress2 = InetAddress.getByName("www.baidu.com");
                System.out.println(inetaddress2);
    
                //常用方法
                System.out.println(inetaddress2.getCanonicalHostName());//规范的名字
                System.out.println(inetaddress2.getHostAddress());//ip
                System.out.println(inetaddress2.getHostName());//域名或者自己的名字
    
            } catch (UnknownHostException e) {
                e.printStackTrace();
            }
        }
    

1.4、端口

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

  • 不同的进程有不同的端口号!用来区分软件!

  • 被规定0~65535

  • TCP,UDP:65536*2 tcp:80 ,udp:80,单个协议下,端口号不能冲突

  • 端口分类

    • 共有端口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 "5900" #查看指定端口
      tasklist|findstr "8696" #查看指定端口进程
      

1.5、通信协议

协议:约定,就相当于交流的普通话

网络通信协议:速率,传输码率,代码结构,传输控制......

问题:非常复杂?

分层!

TCP/IP协议簇:实际上是一组协议

重要:

  • TCP:用户传输协议
  • UDP:用户数据报协议

TCP UDP对比

tcp:打电话

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

udp:发短信

  • 不连接,不稳定
  • 客户端,服务端:没有明确界限
  • 不管有没有准备好,都可以发送

1.6、TCP

客户端

  1. 连接服务器 Socket
  2. 发送消息

服务端

  1. 建立服务的端口ServerSocket
  2. 等待用户的连接accept
  3. 接收用户消息

后面的1.7等内容忘记保存,没有了,555555555

posted @   尧天天  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示