网络编程

1.1 概述

计算机网络
计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。

1.2 网络通信的要素

如何实现网络的通信?
通信双方地址:

  1. - ip
  2. - 端口号

规则:网络通信协议
http ftp smtp tcp
TCP/IP 参考模型

Java通信

1.3 IP

java.net与网络相关的工具类

  • InetAddress 唯一定位一台网络上的计算机
  • localhost 127.0.0.1
  • ip地址分类
    • Ipv4/ipv6
      • 127.0.0.1 4个字节组成 0-255 42亿。
      • Ipv6 128位 8个无符号整数
    • 公网(互联网)-私网(局域网)
  • 域名

    1.4 端口

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

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

  • 被规定 0-65535 个端口
  • TCP端口 UDP端口 各有65535个;单个协议下端口不能重复
  • 端口分类

    • 公有端口 0-1023
      • HTTP:80
      • HTTPs: 443
      • FTP: 21 SSH 22
      • Telent: 23
    • 程序注册端口 1024-49151,分配给用户或者程序
      • Tomcat 8080
      • mysql 3306
      • Oracle 1521
    • 动态端口 私有端口

      1. netstat -ano
      2. netstat -ano|findstr "5900"
      3. tasklist|findstr "8969"