网络模型(OSI ——TCP/IP)

OSI七层模型

应用层

负责处理不同应用程序之间的通信,需要满足提供协议,确保数据发送方和接收方的正确

应用层提供的协议:

HTTP:超文本传输协议,由于Web浏览器于Web服务器之间的通信

FTP:文本传输协议,用于文件的上传和下载

SMTP:简单邮件传输协议,用于从邮件服务器上接收电子邮件

IMAP:Internet邮件访问协议,由于邮件服务器上接收和管理电子邮件

等等。

表示层

负责网络中通信的数据的编码和格式,确保通信过程中数据的正确,数据加密或者解密,确保数据的安全性等等

编码格式转换

音视频格式的转换

数据的加密和解密

图像格式的转换

等等。

会话层

负责于其他计算机中的应用程序建立、维护或者终止会话

传输层

负责计算机与计算机之间的数据传输,保证了数据手法的过程

TCP协议:传输控制协议

UDP:数据报协议

网络层

称之为网络协议层——“IP协议”,负责不同网络中应用程序之间的通信,保证数据的发送方能准确的发送到接收方

数据链路层

负责的是将网络中的数据转换成物理层能识别的信号,还负责设备节点直接之间的数据的传输

主要功能:物理寻址,错误重发

物理层

负责底层最原始的数据传输

TCP/IP四层模型

应用层

将表示层和会话层一起划分到应用层。将三层的功能整合在一起。应用程序通过端口号标识

传输层

与ISO模型基本一致

网络层

与ISO模型基本一致

数据链路层

将数据链路层和物理层归属到数据链路层或者网络接口层,使用MAC地址来唯一表示计算机的物理地址,还定义了一系列的网络接口

C语言区分大端存储和小端存储

#include <stdio.h>
typedef short int_16;
typedef enum Mode{Small = 0,BIG =1
}Mode;
Mode SmallOrBig(){Mode mode = Small;int_16 val = 0x0001;if(*((&val)+1)==1){mode = BIG;}return mode;                          
}int main(int argc, const char *argv[])
{if(SmallOrBig()==Small){printf("小端\n");}elseprintf("大端\n");return 0;
}

 小端存储:数据低位存储在地址低位,数据高位存储在地址高位
大端存储:数据低位存储在地址高位,数据高位存储在地址低位

sizeof()与strlen的区别

  1. sizeof() 是获取数据类型或者变量的存储空间的大小
    strlen()是获取字符串的长度,作用比较单一。
  2. sizeof()是会将\0 计算在内的,
    strlen()是不会计算\0位的
  3. sizeof()是运算符
    strlen()是函数
  4. sizeof()是在程序开始就计算好的
    strlen()是在程序运行到才返回结果

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

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

相关文章

【设计数据密集型应用】复制

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小黄&#xff0c;阿里淘天Java开发工程师&#xff0c;CSDN博客专家&#x1f4d5;系列专栏&#xff1a;Spring源码、Netty源码、Kafka源码、JUC源码、dubbo源码系列&#x1f525;如果感觉博主的文章还不错的话…

Java 静态变量

静态变量的定义 在 Java 中&#xff0c;静态变量&#xff08;也称为类变量&#xff09;是指被声明为 static 关键字的变量&#xff0c;它们属于类而不是实例。静态变量在类加载时被初始化&#xff0c;且所有实例共享同一份静态变量副本。静态变量可以通过类名直接访问&#xff…

echart的使用及注意事项

echart的使用 https://echarts.apache.org/handbook/zh/basics/download 一:安装 npm install echarts 二:引入 import * as echarts from echarts 三:初始化 注意: 当图表数据来源是异步获取赋值的时候&#xff0c;需要将初始化函数放在数据获取的异步中执行。

Liinux——(网络)socket编程

预备知识 源IP地址和目的IP地址 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址 认识端口号 端口号(port)是传输层协议的内容. 端口号是一个2字节16位的整数;端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪个进程来处理;IP地址 端口号能…

tomcat搭建个人博客 实现动静分离

jar包相关 .war&#xff1a;WebApp打包,类zip格式文件,通常包括一个应用的所有资源,比如jsp,html,配置文件等 .jar&#xff1a;EJB类文件的打包压缩类zip格式文件&#xff0c;,包括很多的class文件, 网景公司发明 .rar&#xff1a;资源适配器类打包文件&#xff0c;目前已不常…

[数据结构]OJ用队列实现栈

225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; 官方题解&#xff1a;https://leetcode.cn/problems/implement-stack-using-queues/solutions/432204/yong-dui-lie-shi-xian-zhan-by-leetcode-solution/ 首先我们要知道 栈是一种后进先出的数据结构&#xff0c…

python环境搭建(Python 3.11.8)

文章目录 1 安装Python2 使用虚拟环境3 Python程序打包为二进制 1 安装Python 按照linux安装python3文档安装python3&#xff0c;只是在编译python3时添加一个选项&#xff1a;--enable-shared&#xff0c;该选项是为了后续可以将程序打包为二进制&#xff0c;如果不需要该功能…

C++后端技术:编译 静态链接和动态连接

静态连接 在编译时间完成&#xff0c;所有相关的目标文件与牵涉到的函数库被链接合成一个可执行文件&#xff0c;通常为“libxxx.a”的形式 粉丝福利&#xff0c; 免费领取C/C 开发学习资料包、技术视频/项目代码&#xff0c;1000道大厂面试题&#xff0c;内容包括&#xff08…

艺术与科技的结合,AI绘画图生图怎么样?

AI绘画图生图是指通过人工智能技术生成的具有艺术价值的图像。它可以根据用户提供的参考图像或描述&#xff0c;自动生成具有艺术风格的新图像。这些图像可以是风景、人物、抽象画等各种形式。那么ai绘画图生图到底怎么样&#xff1f; AI绘画图生图的优点在于它可以快速、高效地…

基于springboot+vue的高校教师电子名片系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Jenkins Error 403 No valid crumb was included in the request

WARNING hudson.security.csrf.CrumbFilter#doFilter: No valid crumb was included in request for /pluginManager/installPlugins by admin. Returning 403. 找到Jenkins安装目录&#xff0c;我的是centos yum方式安装的&#xff0c;在 /var/lib/jenkins 修改该目录下的co…

ANTLR4规则解析生成器(三):遍历语法分析树

文章目录 1 词法分析2 语法分析3 遍历语法分析树3.1 Listener3.2 Visitor 4 总结 1 词法分析 词法分析就是对给定的字符串进行分割&#xff0c;提取出其中的单词。 在antlr4中&#xff0c;词法规则的名称的首字母需要大写&#xff0c;右侧必须是终结符&#xff0c;通常将词法…

力扣经典题目解析--反转链表

原题地址: . - 力扣&#xff08;LeetCode&#xff09; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 题目解析 链表&#xff08;Linked List&…

仓储管理系统(WMS) 的研发历程-PRD撰写

题外话&#xff1a;PRD的展现形式有多种&#xff0c;有的人喜欢在axure上直接做产品描述&#xff0c;觉得word较为过时&#xff0c;有的人认为axure不专业&#xff0c;任何展现形式都无可厚非&#xff0c;重要的达到PRD的目的&#xff0c;PRD的目标是让团队知道需求实现细节&am…

启动Docker镜像时候,ENTRYPOINT 和CMD这两者指令的写法有什么不同和区别?

ENTRYPOINT和CMD在Dockerfile中都用于指定容器启动时执行的命令&#xff0c;但它们之间存在一些关键的区别和不同的用途&#xff1a; 1. 基本用途和行为差异 ENTRYPOINT 定义了容器启动时执行的基础命令&#xff0c;使得容器像一个可执行程序。ENTRYPOINT让你能够指定容器启动…

抖店类目报白什么意思?什么类目需要报白?这次给你讲明白!

我是电商珠珠 不少新手在选择类目的时候&#xff0c;有些类目却无法选择&#xff0c;系统显示需要报白才可以。那什么是报白&#xff1f;怎么报白&#xff1f;今天我就一次性给你们讲清楚。 抖店类目报白什么意思&#xff1f; 根据官方的说法&#xff0c;报白就是针对一些比…

经验分享:水牛社怎么做?

本人也就是通过他慢慢学习成长起来的。还是一个网友推荐的&#xff0c;现在他对我来说算是大佬了&#xff0c;已经单飞了&#xff0c;好久都没有联系了&#xff0c;呵呵&#xff0c;真是人往高处走&#xff0c;水往低处流啊。 做网赚会经常和一些网络小白聊天&#xff0c;聊着…

回调函数、回调地狱、解放方法Promise的用法

回调函数 回调函数的定义非常简单&#xff1a;一个函数被当做一个实参传入到另一个函数(外部函数)&#xff0c;并且这个函数在外部函数内被调用&#xff0c;用来完成某些任务的函数。就称为回调函数回调函数的两种写法(实现效果相同)&#xff1a; const text () > {docum…

使用Ora2Pg迁移oracle数据到openGauss

下载说明&#xff1a; Perl DBD&#xff1a; http://search.CPAN.org #只需在搜索输入框中输入模块的全名&#xff08;例如&#xff1a;DBD::Oracle、DBD::Pg&#xff09; Ora2Pg&#xff1a;https://ora2pg.darold.net/start.html在Windows下&#xff0c;应该安装Strawbe…

Java中可以实现的定时任务策略

Java中可以实现的定时任务策略 文章目录 Java中可以实现的定时任务策略自定义独立线程JDK提供的调度线程池-**ScheduledExecutorService**内核是Spring的Task执行调度quartz调度 #mermaid-svg-mQ9rPqk0Ds3ULnvD {font-family:"trebuchet ms",verdana,arial,sans-seri…