自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 【无标题】

情景,pull下仓库以后在本地编译,生成了许多临时文件,不想将其push到远程仓库。不想一个个的add文件,想保持本地仓库干干净净,只保留有用的代码修改。其中,–global选项表示将配置应用到全局环境中,这意味着在使用Git时,这些配置将适用。2)step2,删除step1显示的未被追踪的文件。3)step3,若想同时删除未被追踪的文件及文件夹。命令3:Git不配置用户名和邮箱,是不能正常使用的。1)step1,显示将要删除的未被追踪的文件。命令1:删除未被追踪的文件(不包含文件夹)于所有的Git仓库。

2024-12-23 16:23:33 158

原创 MQTT协议常见问题

4. **避免网络故障导致的误解**:如果客户端直接关闭TCP连接而不发送DISCONNECT报文,服务器可能会认为连接是由于网络故障而意外中断的,这可能会导致服务器尝试重新连接客户端或保留会话状态,直到超时。在MQTT协议中,发送DISCONNECT报文与在TCP层调用`network_disconnect`(或类似的函数,具体名称可能因实现而异)之间存在重要的关系,这涉及到协议的正确性和资源的正确释放。- 在某些情况下,如果客户端遇到严重的网络错误或崩溃,它可能无法发送DISCONNECT报文。

2024-12-21 20:06:40 426

原创 通信:NAT、NAPT、DHCP

NAT设备会将请求的源IP地址(私有IP地址)和端口号转换为公共IP地址和端口号,这个转换可以是动态的(多个私有IP地址映射到一个公共IP地址,并动态分配端口号)。然而,值得注意的是,在大多数情况下,家庭和企业网络中的设备通常使用私网IP地址,并通过NAT(网络地址转换)技术来共享一个或多个公网IP地址访问互联网。综上所述,DHCP在NAT存在的场景下通常分配的是私网IP地址,DHCP服务器可以搭建在网络中的多个位置取决于网络的架构和需求,并且设备在接入网络时并不需要先有IP地址才能访问DHCP服务器。

2024-12-02 02:15:05 606

原创 拨号过程的数模转换与模数转换

数字信号转换为模拟信号的过程涉及多个步骤,主要包括采样、量化、编码(在这里更准确地说是数字模拟转换,即D/A转换)以及滤波。以下是详细的解释:1. 采样:- 采样是将连续的模拟信号在时间上分割成离散的样本点的过程。- 采样频率决定了采样点的密度,即单位时间内采样的次数。为了避免混叠现象,采样频率应至少是模拟信号最高频率的两倍,这是奈奎斯特定理的要求。- 采样精度决定了每个采样点的量化级别,采样精度越高,数字信号的分辨率越高,转换后的模拟信号越接近原始信号。

2024-11-22 10:28:02 812

原创 SIM卡的PIN码与PUK码

这个PIN码通常是一个四位数(在某些情况下可能是六位数或更多,具体取决于服务提供商和SIM卡的类型),并且用户需要在每次启动手机或进行某些涉及SIM卡的操作时输入它。如果连续多次输入错误的PIN码,SIM卡通常会被锁定,这时就需要使用PUK码(PIN Unblocking Key,PIN解锁码)来解锁SIM卡。此外,一些手机还提供了更高级的安全措施,如设置SIM卡的PIN2码(通常用于特定服务,如固定拨号等)或启用SIM卡锁定功能,这些都可以进一步增强SIM卡的安全性。

2024-11-22 09:34:02 770

原创 strncpy,strcpy,sprintf,snprintf

strcpy官方定义1.函数原型将源指向的C字符串复制到目标指向的数组中,包括终止空字符'\0'。(并在该点停止)。'\0'是什么?与空字符串的关系""为了避免溢出,目标指向的数组的大小应足够长,以包含与源相同的C字符串(包括终止的空字符),并且不应在内存中与源重叠。2.函数参数destination:指向要复制内容的目标数组的指针。source:指向要被copy的c字符串3.返回值返回目的地址destination。

2024-10-16 10:27:00 919

原创 通道标识符-1

通信信道和数据流是什么,通道标识符标识的是一个通信设备吗?如果人a和b分别与某设备建立了独立的通信通道或数据流,那么根据CID的唯一性要求,这两个通信通道或数据流将被分配两个唯一的CID。通道标识符(CID)并不直接标识一个通信设备,而是用于标识通过该设备传输的特定通信通道或数据流。- 数据流:指在网络中传输的一系列数据包的集合,代表了数据在通信信道中的连续流动。频分复用(FDM)技术通过将信道的总带宽分割成多个子频带(或称子信道),允许每个子频带传输一路信号,从而提高了信道的利用率和传输效率。

2024-09-06 09:37:35 445

原创 extern:c语言中的函数可以重复声明吗

6.外部链接和内部链接:如果函数或变量被声明为‘static‘,则它只有内部链接,意味着它只能在其所在的源文件中被访问。如果你尝试在同一个程序中多次定义同一个函数(而不仅仅是声明),那么链接器会报错,因为它会发现多个具有相同名称的函数定义。总之,C语言允许函数的多次声明,但这些声明必须是一致的,并且函数本身只能被定义一次。在C语言中,声明的主要目的是向编译器提供函数的存在性和它的一些基本信息(如返回类型和参数列表),以便编译器可以在实际的函数调用之前就知道这些信息。

2024-08-29 16:24:22 649

原创 extern:如果在a.c文件中定义了一个全局函数func1,并未在a.h中声明,那么b.c可以直接使用a.c中的func1吗

在C语言中,如果a.c文件中定义了一个全局函数,并且这个函数的声明(也就是它的原型)没有在头文件(如a.h)中给出,那么b.c文件不能直接使用a.c中的这个函数,除非在b.c中直接包含了该函数的完整定义(这通常是不推荐的做法,因为它违反了代码的封装和模块化原则)。只要a.c中定义的函数在链接阶段对链接器可见(即,该函数没有被声明为static),那么即使b.c中没有该函数的声明,链接器也会从a.c编译生成的对象文件中找到该函数的实现,并将其与b.c中对该函数的调用关联起来。促进了代码的封装和模块化。

2024-08-29 16:21:52 421

原创 extern:为什么同一个c文件的函数可以互相可见,并调用,但是不在同一个源文件的函数彼此不可见,必须要extern才可见

3. 为什么需要`extern`:虽然默认情况下函数具有外部链接,但`extern`关键字主要用于在另一个编译单元中声明一个已经在其他地方定义(通常是在另一个源文件中)的变量或函数。然而,对于全局变量来说,如果你想要在另一个源文件中访问一个全局变量,你就需要在访问它的文件中使用`extern`来声明它,以告诉编译器该变量是在其他地方定义的。是因为编译器在编译每个源文件时是独立进行的,它不知道其他源文件中的内容,除非有链接时的信息或者显式的声明(尽管对于函数来说,这种声明通常是不必要的)。

2024-08-29 16:10:24 228

原创 全局变量int a = 10是否能够定义在头文件中?

并且被b.c通过#include "a.h"包含,虽然b.c在编译时会看到并试图使用这个定义,但如果还有其他.c文件也包含了a.h,则可能会导致链接错误。,并且这个头文件被多个.c文件包含(比如b.c和c.c),那么每个包含该头文件的.c文件都将尝试定义同一个全局变量a。- 在单个.c文件中定义变量:在a.c(或其他任何.c文件)中定义变量int a = 10;,并在其他需要访问这个变量的.c文件中通过包含a.h来声明它。- 在头文件中只声明变量:在a.h中只放置变量的声明,如extern int a;

2024-08-29 14:27:02 471

原创 以太网是什么?

以太网使用双绞线或光纤等作为物理传输介质,通过规定的数据传输协议进行通信,实现了局域网内的高速、可靠数据传输。以太网协议的标准是IEEE 802.3,它定义了以太网中数据帧的封装、传输和接收规则。这些字段共同构成了以太网帧的基本结构,确保了数据在传输过程中的完整性和准确性。当数据在以太网中传输时,发送设备会将目的MAC地址封装在数据帧的头部,以便接收设备能够正确识别并处理数据。综上所述,以太网协议通过规定数据帧结构、地址封装、传输机制和流量控制等方面的规则,实现了局域网内的高速、可靠数据传输。

2024-08-20 09:59:34 644

原创 基带芯片和射频芯片的关系

基带芯片:- 定义:基带芯片是一种用于数字通信系统中的关键电子元件,主要负责处理和调制/解调基带信号。- 功能:基带芯片负责将来自应用层的数据进行数字处理,并转换成适合发送到射频模块的基带信号。同时,它还在接收端解调射频信号以还原原始数据。基带芯片的主要功能包括数字信号处理、调制和解调、信道编码和解码等。射频芯片:- 定义:射频芯片则专注于处理高频信号,即将基带信号转换为适合在无线信道上传输的射频信号。- 功能:射频芯片负责产生、放大、调制和解调射频信号,确保信号能够在空气中有效传播和接收。

2024-08-17 17:20:14 910

原创 带宽与信号频率的关系——根本上搞懂带宽到底是什么

在问题2这个解释中,带宽(Bandwidth)并不直接等同于在频域中能够分解出来的不同频率的波能产生的最大的频率差,尽管这种理解有一定的关联性。带宽更准确地描述为信号在频域中占据的频率范围的宽度,或者说是信号频谱中显著能量分布的频率区间。

2024-08-17 16:46:19 3382

原创 Category 4与LTE网络之间是什么关系?

问题:cat4是怎么实现高下行速率的?我总是不能区分lte与cat4的关系,我认为,cat4是一种编程能够实现的技术,cat4是怎么在原理上加快传输速率的?lte不也是编程实现的技术吗?还是说cat4只是一种书面说明及规格要求,lte才是实现该规格的具体的编程实现。

2024-08-17 14:52:03 718

原创 FDD与TDD——两种双工模式

FDD和TDD是移动通信技术中两种不同的双工模式,它们在作用、原理和特点上各有差异。FDD通过频率分割实现信号的双向传输,具有高效性和抗干扰能力强的特点;而TDD则通过时间分割实现信号的双向传输,具有灵活性和频谱利用率高的特点。在实际应用中,可以根据具体业务场景和需求来选择合适的双工模式。简单来说,

2024-08-17 14:24:09 3923 1

原创 单工通信、半双工通信、双工通信

举个简单例子,一条窄窄的马路,同时只能有一辆车通过,当目前有两量车对开,这种情况下就只能一辆先过,等到头儿后另一辆再开,这个例子就形象的说明了半双工的原理。半双工通信并不严格限定只有一个信道,但在理论上,它确实可以仅通过一条信道实现双向通信,只是这种情况下,通信双方不能同时发送数据,而是需要交替进行。然而,在实际应用中,为了提升通信效率和避免冲突,半双工通信往往会采用两条(逻辑)信道的设计模式。双工通信,又称全双工通信,是指在通信的任意时刻,线路上都可以同时存在A到B和B到A的双向信号传输。

2024-08-17 14:12:14 1351

原创 【C语言】free()函数详解(动态内存释放函数)

​先看下官方网站(free - C++ Reference (cplusplus.com))给free函数的定义说明:

2024-08-12 10:49:33 652

原创 C语言中数组名用作函数参数是否可以做自增操作

①实参数组名代表该数组首元素的地址,而形参是用来接收从实参传递过来的数组首元素地址的。结论:如果对数组名进行了赋值操作就会报lvalue required as increment operand,意思是对左值进行了增加操作。我们知道数组名是一个常量,不能够做修改操作,但是在实际中,发现数组名做参数的时候却做了自增操作,为此专门写了个简单代码测试了一下。新的疑问:如果将数组名作为形参时是将数组名作为指针变量来处理,为什么不直接将形参携程数组指针变量的形式?形参应该为:(char *)(*array)[];

2024-07-25 15:20:30 259

原创 c语言的空字符串在内存中是怎么处理的?与‘\0’有什么关系?

如图所示:空字符串其实就是零长度字符串,只存储了一个字符串结束符'\0',该字符的ASCII码是0。

2024-07-24 17:38:00 251

原创 什么是网络协议?

二、物理层到底是干什么的?定义:计算机网络是由多个互连的结点组成的,节点之间需要不间断的交换数据与控制信息。要做到有条不紊地交换数据,每个结点都必须遵守一些事先约定好的规则。网络协议是为网络数据交换而制定的规则、约定与标准,由具有某种功能的算法或程序来实现,具体包含有语义、语法和时序三个要素。分层的网络体系结构:为了减少协议设计的复杂性,网络设计者并不是设计一个单一、复杂的协议来实现所有形式的通信,而是把复杂的通信问题划分为许多个子问题,然后为每个子问题设计一个单独的协议,即每次对应一个协议。

2024-01-04 18:29:13 1776 2

原创 SpringBoot使用WebSocket

1、WebSocket是一种在单个TCP连接上进行全双工通信的协议。2、WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。3、在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。示例:WebSocket是一种双向网络通信协议,与HTTP不同,它以ws://或wss://开头。

2024-01-02 15:30:50 11340 3

原创 JMeter基础 — JMeter的HTTP代理服务器详细介绍

就是jmx文件,怎么快速开发漂亮的jmeter脚本?1、准确,最基本要求是准确性。首先这个脚本应该是要跑的通的,写的再漂亮,增加再多的元素、组件也是没用的。哪怕脚本没有采用很多参数化、默认值、组件,但是脚本能通,至少工作是可以展开的。2、快速。怎么快速去开发这个脚本?如果是一些简单的接口,可以自己写,用接口文档或者使用抓包工具去抓到的数据,我们可以自己填。但是如果整个场景操作比较多,我们自己写的请求一直跑不通,怎么办?

2023-12-27 20:58:12 2081 1

原创 Jmeter使用HTTP代理服务器无法打开网页问题的解决方法----即解决Jmeter CA证书不受信任无法问题(导致代理服务器无法录制脚本)

第三步:打开certmgr窗口,“受信任的根证书颁发机构 --->证书 --->所有任务 --->导入”第四步:导入jmeter的证书(在jmeter的俺咋胡给你目录下的bin目录中)第一步:win + R ------>打开命令窗口。第二步:命令窗口中输入:certmgr.msc。

2023-12-27 20:39:15 1926 5

原创 什么是同源策略--详解

同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全功能。同源策略会阻止一个域的javascrip脚本和另一个域的内容进行交互,是用于隔离潜在恶意文件的关键安全机制;关于这一点我们后面会举例说明。如果缺少了同源策略浏览器的安全使用会受到很大的影响。可以说web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。前面说,同源策略会阻止一个域的javascrip脚本和另一个域的内容进行交互,那么域是什么?

2023-12-27 11:54:49 2270 1

转载 HTTP 响应字段 strict-origin-when-cross-origin 的含义介绍

Referrer Policy 是一个 HTTP 响应头部字段,用于控制浏览器在发送跳转请求时,将当前页面的 URL 信息如何包含在 Referer 首部字段中。Referrer Policy 的值可以设置为不同的策略,其中 “strict-origin-when-cross-origin” 是一种常见的策略,它具体的含义是:当请求源(origin)和目标源(origin)相同时,将包含完整的 URL 信息。当请求源和目标源不同源时,仅包含请求源的 origin 信息,不包含路径或查询参数等详细信息。

2023-12-27 10:37:42 4428 1

原创 Vue技术——配置代理

请看---跨域产生的原因以及解决方案总给一下:就是。

2023-12-26 21:50:45 1304 1

转载 Ajax请求

Ajax是一种异步请求数据的web开发技术,对于改善用户的体验和页面性能很有帮助。简单地说,在不需要重新刷新页面的情况下,Ajax 通过异步请求加载后台数据,并在网页上呈现出来。常见运用场景有表单验证是否登入成功、百度搜索下拉框提示和快递单号查询等等。Ajax的目的是提高用户体验,较少网络数据的传输量。同时,由于AJAX请求获取的是数据而不是HTML文档,因此它也节省了网络带宽,让互联网用户的网络冲浪体验变得更加顺畅。

2023-12-26 21:28:19 71 1

转载 post使用form-data和x-www-form-urlencoded的本质区别

比如汉字‘丁’吧,他的utf8编码在十六进制下是0xE4B881,占3个字节,把它转成字符串‘E4B881’,变成了六个字节,每两个字节前加上百分号前缀,得到字符串“%E4%B8%81”,变成九个ascii字符,占九个字节(十六进制下是0x244534254238253831)。把这九个字节拼接到数据包里,这样就可以传输“非ascii字符的 utf8编码的 十六进制表示的 字符串的 百分号形式”,^_^。在发送前默认编码所有字符,空格被编码为’+’,特殊字符被编码为ASCII十六进制字符。

2023-12-25 18:02:31 818

转载 form-data和x-www-form-urlencoded的区别和延伸

form-data和x-www-form-urlencoded,它们完整的表示是multipart/form-data和application/x-www-form-urlencoded。好了,这两种编码方式的基本格式,我们已经讲完了,你的第一感觉是什么,是不是觉得multipart/form-data的格式,要比x-www-form-urlencoded复杂的多。multipart/form-data,会把内容分成多个部分,每个部分都支持不同的格式,优点是支持文件上传,缺点是占用字节多。

2023-12-25 17:45:13 105

转载 二进制文件和文本文件的区别

基于字符编码,即每个我们肉眼可读的字符都有唯一对应的0/1,我们读、写这些字符都使用同一套编码方式。如果某文件的数据使用基于字符的编码,那么该文件即为“文本文件”。常见的基于字符的编码有:ASCII码,Unicode编码。2. Unicode编码中比较常见的是UTF-8编码,其为变长编码,即某一个字符的UTF-8编码有可能是1字节,也有可能是多字节。

2023-12-25 16:57:17 103

原创 SpringMVC controller层 @RequestParam与@RequestBody的用法

经过上面的测试,我们发现,对于get+application/json这种形式的请求,后端不加@RequestParam和@RequestBody注解是接收不到参数的,认为没有传参。于是int等基本类型的形参就会报错,Integer封装类型的参数以及自定义Use类型自动转换为null。加@RequestParam同样看不见参数,认为没传参。加@RequestBody看得到参数,能顺利接收自定义类型User,因为它可以将User的json字符串的反序列化为User对象(测试如下)。

2023-12-15 15:55:01 1116

原创 哈希表及其原理

哈希表原理及碰撞解决

2022-05-14 20:16:15 269

原创 PAL与NTSC制式的详解

PAL与NTSC是常见的两种电视信号制式,什么是制式?电视信号的标准简称制式,可以简单地理解为用来实现电视图像或声音信号所采用的一种技术标准。(一个国家或地区播放节目时所采用的特定制度和技术标准)。电视制式就是用来实现电视图像信号和伴音信号,或其它信号传输的方法,和电视图像的显示格式,以及这种方法和电视图像显示格式所采用的技术标准。只有遵循一样的技术标准,才能够实现电视机正常接收电视信号、播放电视节目。就像电源插座和插头,规格一样才能插在一起,中国的插头就不能插在英国规格的电源插座里。简单来讲,像是

2021-12-25 18:42:29 18644 3

转载 区块链基础架构模型

一、简单3层架构Ref:http://www.8btc.com/ebook-blockchain二、6层架构Ref:(1)3分钟了解区块链的六层模型_QC班长的博客-优快云博客(2)理解区块链_csolo的博客-优快云博客区块链技术的模型是由自下而上的数据层、网络层、共识层、激励层、合约层和应用层组成。首先是“数据层”,封装了底层数据区块的链式结构,以及相关的非对称公私钥数据加密技术和时间戳等技术,这是整个区块链技术中最底层的数据结构。这些技术是构建全球金融系统的基础,数十年的使用

2021-11-14 15:14:25 139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除