【网络编程】-- 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.mfbz.cn/a/228999.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux环境下用yum安装postgres15

1. 下载PostgreSQL 15 安装包 在官网选择对应版本的安装包 https://www.postgresql.org/download/ Linux | CentOS 7 | PostgreSQL 15 2. 安装PostgreSQL 15 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-la…

chrome安装jsonview

写在前面 通过jsonview可以实现,当http响应时application/json时直接在浏览器格式化显示,增加可读性。本文看下如何安装该插件到chrome中。 1:安装 首先在这里 下载插件包,然后解压备用。接着在chrome按照如下步骤操作&#xf…

小程序一键生成工具哪个好?

在这个数字化时代,小程序已经成为商家吸引客户、提升业务的重要工具。但是,传统的小程序开发方式既费时又费力,让许多商家望而却步。 现在,有了乔拓云小程序模板开发平台,一切都变了。 乔拓云提供了大量精心设计的模板…

销售技巧培训之如何提高手机销售技巧

销售技巧培训之如何提高手机销售技巧 随着科技的迅速发展,手机已成为我们日常生活中不可或缺的一部分。作为一名手机销售员,了解手机销售技巧是必不可少的。本文将通过案例分析与实践,为你揭示手机销售的奥秘。 一、了解客户需求 在销售过程…

自动化运维工具-ansible部署

首先我们来谈一下,为什么要引入自动化运维呢? 引入自动化运维的目的是为了提高运维效率、降低人工操作的错误率、减少重复性的工作、提高系统的可靠性和稳定性。传统的手动运维方式存在以下问题: 出现了大量的人工干预,运维人员需…

Web端在线云剪辑方案

视频内容已经成为企业传播信息、展示品牌形象的重要手段。然而,视频制作并非易事,需要专业的技术和设备支持。为了帮助企业解决这个问题,美摄科技推出了Web端在线云剪辑方案,提供广播级专业技术赋能,帮助企业快速搭建视…

最新V2board面板支付设置(四)

顺哥博客 支付方式一(推荐): USDT收款: 特点:自己的USDT钱包收款,没有中间商,无手续费,实时到账项目开源地址:【点击进入】把文件usdtwebhook.php放到网站此目录下&…

使用命令行移除VSAN中故障磁盘

原创作者:运维工程师 谢晋 使用命令行移除VSAN中故障磁盘 前提故障盘移除 前提 客户有套VSAN环境内有一台服务器的磁盘组出现了一块故障的数据盘,但该盘已经处于完全掉线状态,无法进行正常移除。如下图: 如果遇到这种情况&am…

QT作业2

使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为…

为什么Java程序员需要掌握多线程?揭秘并发编程的奥秘

为什么Java程序员需要掌握多线程?揭秘并发编程的奥秘 个人简介前言多线程对于Java的意义📌1.提高程序性能:📌2 提高用户体验:📌3支持并发处理:📌4 资源共享和同步:&#…

el-tree数据量过大,造成浏览器卡死、崩溃

el-tree数据量过大,造成浏览器卡死、崩溃 场景:树形结构展示,数据超级多,超过万条,每次打开都会崩溃 我这里采用的是引入新的插件虚拟树,它是参照element-plus 中TreeV2改造vue2.x版本虚拟化树形控件&…

Navicat 技术指引 | 适用于 GaussDB 分布式的数据迁移工具

Navicat Premium(16.3.3 Windows 版或以上)正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结…

选自《洛谷深入浅出进阶篇》——欧拉函数+欧拉定理+扩展欧拉定理

欧拉函数: 欧拉函数定义: 1~n中与n互质的数的个数。 比如 欧拉函数是积性函数:(也就是)当 n与m互质的时候: 由算术基本定理,我们可以设n,那么我们只要计算出的取值就能求出的取…

snakeyaml编辑yaml文件并覆盖注释

文章目录 前言技术积累实战演示1、引入maven依赖2、覆盖注释工具类3、snakeyaml工具类4、测试用例5、测试效果展示 写在最后 前言 最近在做一个动态整合框架的项目,需要根据需求动态组装各个功能模块。其中就涉及到了在application.yaml中加入其他模块的配置&#…

Windows版Minio使用教程(启动,登录,修改密码)

1 、下载安装包 进入官网下载安装包: MinIO | 高性能、支持原生 Kubernetes的对象存储 信任程序安装,就可以啦 2、启动MinIO 第一步,找到minio.exe所在的目录,在地址栏输入cmd进入cmd窗口。 第二步,输入.\minio.exe…

项目状态报告

《项目状态报告》 第1章 当前阶段的工作完成情况 1.1 概述 1.2 各子系统详细进度 第2章 偏差及偏差原因 第3章 偏差纠正措施 第4章 拟进行的变更 第5章 存在的风险及应对计划 第6章 下一阶段主要工作

delphi android打开外部文件,报错android.os.FileUriExposedException解决方法

Android 7.0强制启用了被称作 StrictMode的策略,带来的影响就是你的App对外无法暴露file://类型的URI了。 如果你使用Intent携带这样的URI去打开外部App(比如:打开系统相机拍照),那么会抛出FileUriExposedException异常。 Delphi 为Android…

Python源码30:海龟画图turtle画紫色的小熊

turtle模块是一个Python的标准库之一,它提供了一个基于Turtle graphics的绘图库。Turtle graphics是一种流行的绘图方式,它通过控制一个小海龟在屏幕上移动来绘制图形。 turtle模块可以让您轻松地创建和控制海龟图形,从而帮助您学习Python编…

yolo目标检测+目标跟踪+车辆计数+车辆分割+车道线变更检测+速度估计

这个项目使用YOLO进行车辆检测,使用SORT(简单在线实时跟踪器)进行车辆跟踪。该项目实现了以下任务: 车辆计数车道分割车道变更检测速度估计将所有这些详细信息转储到CSV文件中 车辆计数是指在道路上安装相应设备,通过…

盘点11月Sui生态发展,了解Sui的近期成长历程!

11月是Web3的“回暖期”,行业持续展现增长趋势。Sui紧随行业脚步,开展了一系列生态活动。其中历时一个多月的Quest 3游戏活动顺利结束并公布奖励,在多地区成功举办Move和Sui生态黑客松&交流会,还有针对中文社区开发者教育的星…