当前位置: 首页 > article >正文

【网络编程】-- 02 端口、通信协议

网络编程

3 端口

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

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

  • 被规定总共0~65535

  • TCP,UDP:65535 * 2

  • 在同一协议下,端口号不可以冲突占用

  • 端口分类:

    • 公有端口: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 "13000"  #查看指定端口的进程,这里此电脑的13000端口IP代表QQ应用进程
      

      运行结果:

      图1

练习:

package com.duo.lesson01;

import java.net.InetSocketAddress;

public class InetSocketAddressTest {

    public static void main(String[] args) {
        InetSocketAddress inetSocketAddress = new InetSocketAddress("127.0.0.1", 8080);
        InetSocketAddress inetSocketAddress2 = new InetSocketAddress("localhost", 8080);
        System.out.println(inetSocketAddress);
        System.out.println(inetSocketAddress2);

        System.out.println(inetSocketAddress.getAddress());
        System.out.println(inetSocketAddress.getHostName());  //hosts  地址
        System.out.println(inetSocketAddress.getPort());  //端口
    }
}

运行结果:

图2

4 通信协议

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

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

  • IP:网络互连协议

  • TCP:用户传输协议

  • 两个重要的协议:

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

TCP与UDP对比

  • TCP类比打电话

    • 连接,稳定
    • 三次握手,四次挥手

    所谓三次握手,最少需要三次,以保证稳定连接;三次握手四次挥手可以抽象理解记忆

    最少需要三次,以保证稳定连接!
    A:你瞅啥?
    B:瞅你咋地?
    A:不服来干一场!
    
    A:我要离开了!
    B:你要离开吗?
    B:你真的决定离开了吗?
    A:我真的要离开了!
    
    • 客户端、服务端
    • 传输完成会释放连接,效率低
  • UDP类比发短信

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


http://www.kler.cn/news/162554.html

相关文章:

  • 简单实用的firewalld命令
  • 创建vue项目:vue脚手架安装、vue-cli安装,vue ui界面创建vue工程(vue2/vue3),安装vue、搭建vue项目开发环境(保姆级教程二)
  • 虚拟化之Stage2地址翻译
  • ChatGPT的进化史
  • 防水,也不怕水。Mate X5是如何做到让你湿手湿屏也不影响操作的?
  • 《opencv实用探索·十五》inRange二值化图像
  • 《Spring Cloud Alibaba 从入门到实战》理论知识篇
  • 前端大文件上传webuploader(react + umi)
  • QT作业2
  • Scala 从入门到精通
  • 【前端】没有了element时,怎么实现一个自己的form表单组件和表单校验(用法参考el-form)
  • 这些接口自动化测试工具如果不知道,就真out了!
  • unity 2d 入门 飞翔小鸟 小鸟跳跃 碰撞停止挥动翅膀动画(十)
  • 机器学习-分类问题
  • Tmux中使用Docker报错 - 解决方案
  • Windows下使用CMD修改本地IP
  • SQL自学通之简介
  • PyQt6 QTimeEdit时间控件
  • YOLOv5独家原创改进:SPPF自研创新 | SPPF与感知大内核卷积UniRepLK结合,大kernel+非膨胀卷积提升感受野
  • 7天用Go实现分布式缓存
  • 简谈MySQL的binlog模式
  • ALTERNET STUDIO 9.1 Crack
  • 啃下这50道笔试题,你就是SQL专家!(附答案,收藏备用)
  • 元宇宙vr党建云上实景展馆扩大党的影响力
  • 将 ONLYOFFICE 协作空间的公共房间嵌入到网页
  • 复杂sql分析 以及 索引合并
  • 使用异或查找数组中出现奇数次的唯一或唯二数字
  • Vue.directive
  • Python 数据分析:日期型数据的玩转之道
  • 混合预编码(Hybrid Precoding)的全连接结构与子连接结构