- 博客(43)
- 收藏
- 关注
原创 Docker的介绍和使用
Docker 是一种开源的容器化平台,允许开发者将应用程序及其所有依赖项(库、配置文件、环境变量等)打包成一个标准化、轻量级的单元,称为“容器”。这个容器可以在任何支持 Docker 的环境中快速、可靠地运行。
2025-09-24 15:47:43
690
原创 串口通信介绍
串口通信是一种数据通信方式,它通过一根信号线将数据一个比特一个比特地、按顺序依次进行传输。串口是串行接口的简称,也称串行通信接口或串行通讯接口,通常指COM接口串口是可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。即CPU ---- 并行数据 ----> 串口 ---- 转化为串行数据流 ----> 发送---- 接受串行数据 ----> 串口 ---- 转化为并行数据 ----> CPU这种功能由串行接口电路。
2025-09-21 22:02:27
837
原创 Wi-Fi技术——无线漫游
无线漫游指的是一个无线客户端(如手机、笔记本电脑等)在移动过程中,从一个无线接入点的覆盖范围,无缝地切换到另一个无线接入点的覆盖范围,而保持网络连接不中断的过程无缝性:理想的漫游过程用户是毫无感知的,正在进行的视频通话、在线会议、游戏等不会卡顿或断开。自动性:终端设备会自动检测周围信号的强弱,并自主决策在何时切换到哪个更好的接入点,无需用户手动操作。同一网络:所有这些提供漫游功能的无线接入点都属于同一个局域网,通常具有相同的网络名称和认证方式。关键技术条件。
2025-09-21 02:51:39
1193
原创 Wi-Fi技术——Power SAVE模式
是802.11中的一个十分重要的功能,允许Wi-Fi设备(如手机、笔记本电脑、物联网传感器等)在保持与无线网络连接的同时,极大地降低功耗,从而显著延长电池续航时间。
2025-09-14 22:01:07
1128
原创 Wi-Fi技术——OSI模型
以太网和无线网在计算机模型上的主要的差异在于第一和第二层,也就是和。物理层:负责在网络设备之间传输原始的比特流(0和1)数据链路层:负责在相邻节点之间建立可靠的通信链路,将数据帧从一个节点发送到下一个节点,并处理帧的传输错误。
2025-08-31 23:09:37
466
原创 Wi-Fi技术——网络安全
无线网络安全经历了从WEP到WPA3的演进过程。早期WEP因静态密钥和弱加密算法存在严重漏洞。802.11i标准引入RSN安全架构,基于身份认证、密钥管理和数据加密三大支柱。现代安全协议包括WPA2(AES-CCMP加密)和WPA3(SAE认证和GCMP加密)。管理帧安全方面,802.11w标准为管理帧提供保护,防止解除认证等攻击,WPA3将其作为强制要求。当前推荐使用WPA3以获得最佳安全性,同时需注意兼容性问题。
2025-08-31 21:27:13
1727
原创 Wi-Fi技术——工作流程
STA连接到AP的过程分为四个阶段: 扫描:STA通过主动或被动扫描发现周围AP,获取SSID、BSSID等信息。 认证:STA发送认证请求,采用Shared Key(WEP加密)或Open System方式验证身份。 关联:STA与AP协商链路参数,若关联成功,STA获得AID并接入网络。 EAPOL认证(仅Open System):通过4次握手交换密钥(PTK/GTK),完成TKIP/WPA2加密认证。 整个过程确保STA安全接入AP,不同认证方式决定加密方法和流程阶段。
2025-08-31 20:08:49
1205
原创 Wi-Fi技术——MAC特性
有线和无线网络在物理层采用不同的冲突管理机制。有线网络使用CSMA/CD(冲突检测),通过监听网线状态检测冲突并重传;而无线网络采用CSMA/CA(冲突避免),通过RTS/CTS握手机制、ACK确认和随机退避算法来预防冲突。无线网络还引入帧间间隔(IFS)和网络分配向量(NAV)实现虚拟载波侦听,解决隐蔽节点问题。这些差异源于有线网络的共享介质特性与无线信道的半双工特性,导致两者在冲突管理和信道访问方式上存在本质区别。
2025-08-31 18:48:15
1309
原创 Wi-Fi技术——初识
无线局域网(WLAN)是利用射频技术通过电磁波实现无线通信的计算机网络,弥补了有线网络的局限性。Wi-Fi作为WLAN的主要实现技术,采用IEEE 802.11标准,使用2.4GHz和5GHz频段进行数据传输。其发展经历了802.11a/b/g/n/ac/ax/be等多个版本改进,支持调制解调、信道编码等技术以提高传输速率和可靠性。WLAN网络包含工作站(STA)、接入点(AP)等实体,支持BSS(基本服务集)、IBSS(独立服务集)和ESS(扩展服务集)三种拓扑结构。
2025-08-31 15:36:09
1266
原创 Windows 安装使用 MySQL
本文介绍了MySQL和Navicat的详细安装配置方法。MySQL采用8.0.37版本,通过自定义安装方式完成;Navicat则选择16版本,提供了安装和激活的详细教程,并附有快速入门使用指南。文中均给出了对应的优快云教程链接,包含保姆级安装步骤和操作说明,适合初学者参考。
2025-08-18 23:44:14
164
原创 Linux内核模块——输出字符
程序目的:实现一个Linux内核模块- 将用户空间写入的内容打印到内核日志中- 根据 cap 参数决定是否以大写形式输出
2025-08-11 00:18:51
262
原创 Linux网络编程-HTTP编程
Linux网络编程(HTTP协议)Linux网络编程----http网络编程之http服务器(C/C++)(基于libevent实现)使用c++手把手实现一个简单的http服务器
2024-08-10 20:35:28
255
原创 Linux中构建C++编程环境
编译多个文件的古老方法就是编写makefile,用于说明各个c++文件的依赖关系,然后用一款make软件来构建程序,make会用到makefile文件(需手动编写)和g++编译器。头文件(.h)都放到include文件夹,源文件(.cpp)包括main.cpp都放到src文件夹。主要含义就是:把include文件夹当作头文件目录,把src当成源文件目录,使用c++11的标准。因此更现代的构建工具cmake应运而生。:编译C++时要使用g++编译,使用gcc可能会有一些链接和定义的问题出现。
2024-08-10 19:22:52
2730
原创 Linux 服务器开发参考-c++
在C++开发中,原生的线程库主要有两个,一个是C++11提供的< thread>(std::thread类),另一个是Linux下的(pthread类)- 线程池概念及优点。
2024-08-10 19:21:08
511
原创 Linux网络编程-epoll
该文件描述符用于随后的所有对epoll的调用接口。每创建一个epoll句柄,会占用一个fd,因此当不再需要时,应使用close关闭epoll_create()返回的文件描述符,否则可能导致fd被耗尽。使用时,用户可以将自己需要的数据存放到这个字段中,当事件触发时,epoll系统调用会返回这个数据,以便用户处理事件。函数的返回值为 0 表示操作成功,-1 表示出现错误,具体的错误信息可以通过检查 errno 变量获得。data字段表示用户数据,它的类型是一个union,可以存放一个指针或文件描述符等数据。
2024-08-10 19:17:12
950
原创 C++协程基础
通用的说法是协程是⼀种“轻量级线程”,用户态线程”。可以减少用户态与内核态的切换,相当于一个花里胡哨的函数。协程的本质就是函数和函数运行状态的组合。函数一旦被调用,则只能从头运行到结束协程可以执行到一半退出(yield),暂时让出CPU执行权;在后面适当时机可以重新恢复运行(resume)。这期间CPU可以运行其他协程。协程能够半路yield、再重新resume的关键是协程存储了函数在yield时间点的执⾏状态,这个状态称为协程上下文。通过记录当前执行状态下CPU全部寄存器的值来实现。
2024-08-08 20:14:15
1046
原创 Linux网络编程-socket网络编程
每创建一个epoll句柄,会占用一个fd,因此当不再需要时,应使用close关闭epoll_create()返回的文件描述符,否则可能导致fd被耗尽。使用sockaddr_in结构体时,需要将其类型转换为sockaddr类型,因为套接字API中的大多数函数都需要传入sockaddr类型的指针作为参数。使用时,用户可以将自己需要的数据存放到这个字段中,当事件触发时,epoll系统调用会返回这个数据,以便用户处理事件。如果函数调用成功,会返回一个标识这个套接字的文件描述符,失败的时候返回-1。
2024-07-30 15:53:38
1050
原创 Linux网络编程-多线程编程
在C++开发中,原生的线程库主要有两个,一个是C++11提供的< thread>(std::thread类),另一个是Linux下的(pthread类)信号量主要就是用来保护共享资源的,也就是说如果你想限制某个(些)资源在同一时刻只能有一(多)个线程拥有,就可以使用信号量。当然也可以用作让一个线程等待另一个线程完成某项工作。主要用下面一组函数(系统调用)来实现。
2024-07-30 15:53:14
485
原创 C\C++输出格式
以“%”开头,后面跟格式字符,格式字符前面还可以有其他修饰符,表示输出数据的宽度、精度等。格式说明符的个数必须与后面的参数 argument 的个数一致。5)length 表示整型数据是长整型还是短整型,length。4)precision 表示单精度和双精度浮点数的小数点个数。在C/C++中可以通过特定的符号来输入一个变量。3)width 控制数据输出的宽度。
2024-07-24 17:40:25
395
原创 Windows 安装 PCL
然后改成bat文件,双击获得一个release.txt或者debug.txt文件,这样就可以把当前目录所有的lib文件名都写在txt文档中了,否则要一个一个输入进去,非常的麻烦。将pcl-1.13.0-pdb-msvc2022-win64.zip文件解压缩,将pdb文件全部复制到PCL安装目录下的bin文件夹中。点击下载的PCL-1.13.0-AllInOne-msvc2022-win64.exe进行安装。配置包含目录:VC++目录——包含目录。配置库目录:VC++目录——库目录。
2024-06-25 21:37:50
2205
1
原创 Linux中使用git及个人代码仓库github管理代码
本文总结了在Linux系统中使用Git管理GitHub仓库的基本流程:1)安装Git并配置用户信息;2)生成SSH密钥并绑定GitHub账户;3)创建远程仓库;4)本地操作包括初始化仓库、分支管理、文件提交等核心步骤。重点介绍了git add/commit/push等命令的使用,以及如何通过SSH或HTTPS协议连接远程仓库。文章还包含分支管理、文件状态识别等实用技巧,适合Linux环境下需要版本控制的开发者快速上手Git与GitHub的协同工作。
2024-06-23 20:13:49
1461
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅