网络编程

231 阅读2分钟

网络通信的要素

通信双方地址

  • IP
  • 端口号

规则 : 通信协议

  • TCP、UDP、HTTP、HTTPS、DNS等

网络编程要素

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

端口

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

  • 不同的进程有不同的端口号!用来区分软件!
  • 一般被规定从0~65535
  • TCP和UDP协议各有65536个端口号,也就是说,一般一台主机拥有65535 * 2个端口号,单个协议下,端口号不能重复
  • 端口分类
    1. 公有端口0~1023
    2. HTTP : 80
    3. HTTPS : 443
    4. FTP : 21
    5. Telnet : 23
  • 程序注册端口 : 1024 ~ 49151,分配用户或者程序
    1. Tomcat : 8080
    2. Mysql : 3306
    3. Oracle : 1521
  • 动态、私有端口 : 49152 ~ 66535
    1. netstat -ano : 查看所有的端口
    2. netstat -ano|findstr "8080" : 查看指定端口
    3. tasklist|findstr "8080" : 查看指定端口的进程

通信协议

  • 就是一种约定,是一种网络数据交互的约定俗成
  • TCP/IP协议簇
    1. TCP : 用户传输协议
    2. UDP : 用户数据报协议
  • TCP : 可以类比为打电话
    1. 连接,稳定
    2. 三次握手,四次挥手
    3. 客户端、服务端
    4. 传输完成,释放连接,效率低
  • UDP : 可以类比为发短信
    1. 不连接,不稳定
    2. 没有明确的客户端、服务端概念
    3. 不管是否能准备好,都可以发送