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://xiahunao.cn/news/3280176.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

快速识别音频文件转成文字

一、SenseVoice概述 阿里云通义千问开源了两款语音基座模型 SenseVoice(用于语音识别)和 CosyVoice(用于语音生成)。 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测,有以下特点: 多语言…

数据结构与算法 - 数组

一、数组 1. 概述 定义:在计算机科学中,数组是由一组元素(值或变量)组成的数据结构,每个元素有至少一个索引或键来标识。 因为数组内的元素是连续存储的,所以数组中元素的地址,可以通过其索引…

手把手教你用家用电脑完成图片和视频AI去水印功能

一.效果展示 二.video-subtitle-remover源码地址 soda151314/video-subtitle-remover: 基于AI的图片/视频硬字幕去除、文本水印去除,无损分辨率生成去字幕、去水印后的图片/视频文件。无需申请第三方API,本地实现。AI-based tool for removing hard-cod…

随堂测小程序的设计

管理员账户功能包括:系统首页,个人中心,学生管理,教师管理,试题信息管理,标签类型管理,系统管理 微信端账号功能包括:系统首页,考试成绩,试题信息&#xff0…

SOMEIPSRV_RPC_11: 字段的设定器和有效载荷

测试目的: 验证字段的setter方法是否按照规范要求,通过请求/响应调用实现,其中请求消息的负载包含期望的字段值,响应消息的负载包含已设置到字段的值。 描述 本测试用例旨在验证DUT(Device Under Test,被…

【区块链+绿色低碳】碳低链 | FISCO BCOS应用案例

在碳中和、碳达峰国家战略的号召下,碳中和数字化、协同低碳的发展如火如荼。但是在金融业的实际场景应用中, 存在数据收集效率低、数据核查困难、服务单一等问题,痛点集中为两个:一是数据冗杂,可能会存在数据篡改&…

MySQL存储引擎和

MySQL存储引擎 在数据库中保存的是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,最关注的一个问题是使用什么存储引擎。MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种…

LeetCode 144.二叉树的前序遍历 C写法

LeetCode 144.二叉树的前序遍历 思路🧐: 遍历很简单,但是我们需要开空间进行值的存储,结点个数也可以用递归进行统计,开好空间就可以用数组进行值的存储,注意下标要么用全局,要么指针解引用&…

Astro 实现TodoList网页应用案例

Astro 是一个现代化的静态站点生成器和前端框架,它具有独特的设计理念:岛屿架构。它允许开发人员使用组件化的方式构建内容优先的网站,将各种技术栈(如React、Vue、Svelte等)的组件无缝集成到同一个项目中。 1、创建项…

使用注意力机制的seq2seq

一、背景 1、机器翻译中,每个生成的词可能相关于源句子中不同的词,但是之前用的是最后一个RNN层出来的context。 2、加入注意力 (1)假设输入序列中有𝑇个词元, 解码时间步𝑡′的上下文变量是…

​LLM大模型从入门到精通(7)--企业大模型开发流程​

一、大模型项目开发的两种方式 2023年以来,随着ChatGPT的火爆,使得LLM成为研究和应用的热点,但是市面上大部分LLM都存在一个共同的问题:模型都是基于过去的经验数据进行训练完成,无法获取最新的知识,以及各…

最新Python编程、机器学习与深度学习应用

近年来,人工智能领域的飞速发展极大地改变了各个行业的面貌。当前最新的技术动态,如大型语言模型和深度学习技术的发展,展示了深度学习和机器学习技术的强大潜力,成为推动创新和提升竞争力的关键。特别是PyTorch,凭借其…

昇思25天学习打卡营第26天|munger85

ShuffleNet图像分类 和mobilenet一样,也是在资源有限的设备上进行神经网络来做ai图像分类的小模型,在保持精度的同时大大降低了模型的计算量。 是基本块 就是真正的网络,如果模型size是2,就是输出的时候多一些,精细一…

jdk版本管理利器-sdkman

1.什么是sdkman? sdkman是一个轻量级、支持多平台的开源开发工具管理器,可以通过它安装任意主流发行版本(例如OpenJDK、Kona、GraalVM等等)的任意版本的JDK。通过下面的命令可以轻易安装sdkman: 2.安装 curl -s "https://…

安装 moleculeSTM 踩坑日记

“学习 LLM ,在大模型时代为自己存张船票”。 相信很多人都有这样的想法。那么,在 AI for science 领域,哪些 LLM 模型值得一试呢? 笔者认为: LLM 直接预测 SMILES 性质 or 直接生成 SMILES 的技术路线是行不通的。因…

系统移植(十)Linux内核源码解析(未整理)

1、分析make <board_name>_defconfig执行过程详解 分析Makefile文件&#xff0c;分析Makefile文件的规则中目标为"<board_name>_defconfig", 打开linux内核源码目录下的Makefile,搜索“%config”字符串&#xff0c;得到以下结果 %config: scripts_basic …

进程间通信--套接字socket

前面提到的管道、消息队列、共享内存、信号和信号量都是在同一台主机上进行进程间通信&#xff0c;那要想跨网络与不同主机上的进程之间通信&#xff0c;就需要Socket通信了。 实际上&#xff0c;Socket通信不仅可以跨网络与不同主机的进程间通信&#xff0c;还可以在同主机上…

安防监控视频平台LntonAIServer视频监控管理平台裸土检测算法

LntonAIServer裸土检测算法代表了一种先进的土地监测技术&#xff0c;它利用人工智能的强劲能力&#xff0c;实现了对裸土区域的自动识别和实时监测。该算法的推出&#xff0c;为环境保护、农业管理以及城市规划等多个领域提供了创新的解决方案&#xff0c;其应用前景广阔&…

maven插件1(timer-plugin)

概述 timer plugin, 提供4个goal: currentTimecurrentDatecurrentMonthcurrentYear 打包 命令 maven clean install 常见错误 goalPrefix MISSING 错误信息 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.13.1:helpmojo (help-goal)…

速通JS模块化规范

目录 1模块化概述 1.1什么是模块化&#xff1f; 1.2为什么需要模块化&#xff1f; 2有哪些模块化规范&#xff1f; 3导入与导出的概念 4CommonJS 规范 4.1初步体验 4.2导出数据 4.3导入数据 4.4扩展理解 4.5浏览器端运行 5ES6 模块化规范 5.1初步体验 5.2Node 中运…