C++(week15): C++提高:(三)计算机网络

文章目录

  • 一、计算机网络基础
    • 1.协议概念
    • 2.分层模型
    • 3.协议格式
      • (1)以太网帧格式
      • (2)IP段格式
      • (3)TCP/UDP数据报格式
    • 4.TCP协议
      • (1)TCP协议的特点
      • (2)三次握手
      • (3)四次挥手
      • (4)SYN攻击
    • 5.状态迁移图的解析:11种状态
    • 6.TCP通信状态与程序结合分析
  • 二、网络编程(Socket编程)
    • 1.网络编程基础
    • 2.字节序
    • 3.常用结构体
    • 4.网络编程相关函数
      • (1)socket函数
      • (2)bind函数
      • (3)listen函数
      • (4)accept函数
      • (5)connect函数
      • (6)close函数
    • 5.网络编程代码
      • (0)查看网络状态
      • (1)端口复用
      • (2)服务器端源码
      • (3)客户端源码
      • (4)read返回值
      • (5)readn/writen的函数的封装
  • 三、IO多路复用(select、poll、epoll)
    • 0.概念与原理图
    • 1.select
    • 2.poll
    • 3.epoll
    • 4.IO多路复用的伪代码

一、计算机网络基础

在这里插入图片描述

1.协议概念

协议:通信双方需要遵循的规则。

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。协议可以理解为规则,有:原始协议、标准协议。
比如A、B之间传输文件,第一次传文件名、第二次传文件大小、第三次传文件内容,按照这个步骤进行传输。例如:TCP协议、UDP协议、HTTP协议、FTP协议等


2.分层模型

在这里插入图片描述


3.协议格式

链路层的以太网帧 (帧头与帧尾)、网络层的IP数据报、传输层的数据段(这三个是由操作系统进行操作的)、应用层是由用户操作的。

(1)以太网帧格式

mac地址:也就是硬件地址,网卡的编号,表示网卡的唯一性。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/387442.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试人生 | 招聘严峻期从面试无力感,到一天2个offer的一些经验分享(内附美团、字节、快手等面试题)

本人是霍格沃兹北京测试开发学社线下3期学员,拥有3年测试工作经验,之前一直在某大厂外包做软件测试,期间主要是以功能测试为主。 经过一个月的高强度找工作奋战,最终拿下了3家公司offer,选择了一家自己很满意的公司。…

nginx的反向代理及负载均衡

nginx的反向代理 安装包链接https://nginx.org/download/nginx-1.26.1.tar.gz yum -y install gcc gcc-c pcre-devel openssl-devel [rootstaticserver ~]# tar -xzvf nginx-1.26.1.tar.gz [rootstaticserver nginx-1.26.1]#./configure --prefix/usr/local/nginx --userngi…

Graph RAG:知识图谱赋能大语言模型的新范式

一、前言 大模型技术在经过一年多的飞速迭代和发展,以 ChatGPT 为代表的大语言模型(LLM)凭借其强大的文本生成能力,在各个领域掀起了一场 AI 应用的革命。然而,狂欢过后,人们逐渐意识到 LLM 并非无所不能。…

时常在面试中被问到的JVM问题

文章目录 JVM 和 JDK、JRE 有什么区别?JVM 是如何工作的?JVM 主要组件JVM 执行流程JVM 的工作示例 说一下类加载机制类加载器(Class Loader)示例 什么是双亲委派模型?(Parent Delegation Model)…

cookie与session的关系

登录时:存入redis的格式是key:value 登录时的session 再次请求时:查询请求头中带了cookie的session是和登录时第一次的一致,不管是第几个请求,和缓存的cookie的session做对比 退出时--依然会带着这个sessionid 1.cookie和session: 客户端--------------------企业代…

跨平台AI模型部署神器:FastDeploy实战Yolov5

简介 FastDeploy 是一款易用、高效的 AI 模型部署工具。 它旨在简化 AI 模型从训练到部署的整个流程,支持在多种硬件和操作系统上进行模型推理。 特点如下: 多平台支持 : FastDeploy 支持在云、边、端等多种环境中部署模型,包括但不限于 Windows、Linux、Android、iOS …

短剧出海分销推广系统,海外短剧CPS分润机制方案介绍

随着国内短剧市场的蓬勃发展,其独特的叙事风格和快节奏的内容形式不仅在国内赢得了广泛好评,更逐渐跨越国界,吸引了全球观众的关注。海外短剧系统CPS分销推广是一种创新的营销模式,它主要依靠按销售分润(Cost Per Sale…

2024 Java 高分面试宝典 一站式搞定技术面

前言 每年9月和10月,被业界称为“金九银十”,这是人才市场一年中最活跃的时期。此时,企业为了来年的业务扩展,纷纷加大招聘力度,空缺岗位众多,招聘需求集中。同时,初秋的招聘活动也避开酷暑&am…

中间件安全:Nginx 解析漏洞测试.

中间件安全:Nginx 解析漏洞测试. Nginx 是一个高性能的 HTTP和 反向代理服务器,Nginx 解析漏洞是一个由于配置不当导致的安全问题,它不依赖于Nginx或PHP的特定版本,而是由于用户配置错误造成的。这个漏洞允许攻击者上传看似无害的…

git的配置使用

第三周 Tursday 早 git日志的安装使用 [rootweb ~]# yum -y install git.x86_64 //安装软件包 [rootweb ~]# rpm -ql git //查看git的包 ​ [rootweb ~]# mkdir /yy000 //创建新目录 [rootweb ~]# cd /yy000/ [rootweb yy000]# git init //将当前目录做为仓库…

ubuntu 查找文件find

find -name xxx 查找当前路径下名字为xxx的文件 find . -name xxx 查找当前路径下名字为 train_logs的文件 find . -name train_logs 具体说明 【Ubuntu】find命令_ubuntu find命令-CSDN博客 其中,路径 指定要搜索的目录路径,而 表达式 用于指定匹配条…

PHP进阶-CentOS7部署LNMP服务架构的项目

在开发和部署Web应用时,LNMP(Linux、Nginx、MySQL、PHP)的组合是非常常见的。这篇博客将介绍如何通过一个简单的脚本,在CentOS 7上部署LNMP,并将PHP项目自动部署到服务器上。这不仅可以节省大量的时间,还能…

Wi-Fi、WLAN、Bluetooth、zigbee、蜂窝网络、4g5g、MQTT

为什么打开手机的WiFi连接,显示的是WLAN? 分清Wi-Fi、WLAN、Bluetooth、zigbee、蜂窝网络、4g5g、MQTT这些概念. 一、WLAN、WIFI、WAPI WLAN是利用无线通信技术在局部区域内构建的网络,家庭/办公室里的网络就是一个WLAN,WLAN是一…

【城市数据集】世界城市数据库和访问门户工具WUDAPT

世界城市数据库和访问门户工具WUDAPT WUDAPTLCZ分类具体步骤参考 在 城市气候研究中,用于描述城市特征的数据集一般采用基于类别的传统方法,将城市地区分为数量有限的类型,从而导致精确度下降。越来越多的新数据集以亚米微尺分辨率描述城市的…

SolidEdge二次开发(C#)-环境配置

文章目录 1、前言2、环境配置2.1 安装Solidworks20242.2 安装VS20222.3 查看Com组件2.3.1 在VS2022中创建一个wpf工程项目2.3.2 添加com组件 1、前言 SolidEdge是Siemens PLM Software公司旗下的三维CAD软件,采用Siemens PLM Software公司自己拥有专利的Parasolid作…

JAVA零基础学习3(Scanner类,字符串,StringBuilder,StringJoinder,ArrayList成员方法)

JAVA零基础学习3 Scanner类输入示例代码代码解释完整代码1. 读取字符串2. 读取整数3. 读取浮点数4. 读取布尔值5. 读取单个单词6. 读取长整型数7. 读取短整型数8. 读取字节数注意事项总结 API 字符串解释示例解释解决方法示例:使用 StringBuilder String…

Java代码基础算法练习-求一个3×3矩阵对角线元素之和-2024.07.27

任务描述: 求一个33矩阵对角线元素之和,包括主对角线、副对角线元素和 (提示:主对角线: ij,副对角线:ij2)。 解决思路: 定义 3*3 的二维数组,再输入9个数字&#xff0c…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十四)-租云服务器及配环境、docker基本命令

主要介绍了租云服务器和docker配置、基本命令!!! 文章目录 前言 一、云平台 二、租云服务器及安装docker 1.阿里云 2.安装docker 三、docker命令 将当前用户添加到docker用户组 镜像(images) 容器(container) 四、实战…

linux编写shell脚本字段部署redis6.x版本,docker使用shell脚本一键自动部署redis

1.先创建部署脚本 touch redis.sh2.粘贴部署脚本内容到redis.sh echo "在线安装redis开始...." docker pull redis:6.2.1 sudo mkdir -p /home/admin/redis/{data,conf} sudo touch /home/admin/redis/conf/redis.conf echo " #注释掉这部分,这是限…

一文总结代理:代理模式、代理服务器

概述 代理在计算机编程领域,是一个很通用的概念,包括:代理设计模式,代理服务器等。 代理类持有具体实现类的实例,将在代理类上的操作转化为实例上方法的调用。为某个对象提供一个代理,以控制对这个对象的…