自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 扩展属性(Extended Attributes, xattr)的使用

在Linux操作系统中,如果libattr功能在内核设置中被打开,ext2、ext3、ext4、JFS、ReiserFS以及XFS文件系统都支持扩展属性(英文简写为xattr)允许用户为文件或目录附加自定义的键值对(name-value pairs)元数据。这些属性与文件内容分开存储,不会影响文件本身的数据,但可以与文件永久关联每个扩展属性都包含一个名称(name)和一个对应的值(value)。名称通常以作为前缀,用于区分和管理不同用途的属性。

2025-11-11 15:41:34 868

原创 SIP协议INVITE事务计时器

sip协议INVITE事务计时器

2025-11-06 10:40:27 815

原创 exosip配置项EXOSIP_OPT_AUTO_MASQUERADE_CONTACT

摘要 EXOSIP_OPT_AUTO_MASQUERADE_CONTACT是eXosip库中用于自动修改SIP消息Contact头域的配置选项,主要解决NAT环境下的SIP通信问题。当客户端位于NAT后时,该选项会自动将Contact头中的私有IP替换为公网IP地址。实现原理是通过SIP响应中的Via头域获取rport和received参数,记录公网IP和端口信息到会话上下文中。在后续发送消息时,会从会话上下文中获取这些信息来替换Contact头域内容。该选项替代了已废弃的EXOSIP_OPT_UDP_LE

2025-10-16 13:59:00 425

原创 GB28181: 应用层网关 ALG(Application Level Gateway)

摘要:SIP ALG是集成在网络设备中的应用层网关,用于解决NAT环境下SIP通信问题。它能修改SIP消息和RTP流的IP地址及端口信息,简化配置并提高兼容性,但可能引发处理错误和安全风险。实际部署中需权衡是否启用,STUN/TURN/ICE等方案可能更适合高可靠性场景。文中还展示了SIP协议通信的报文实例,包括INVITE、响应和BYE等流程。

2025-10-11 15:57:35 1000

原创 linux拷贝命令

本文介绍了一个Linux命令拷贝脚本,可将指定命令及其依赖库打包到独立目录。脚本首先检查命令是否存在,然后创建bin和lib目录,分别拷贝命令二进制文件和依赖库。最后生成一个run.sh启动脚本,自动设置环境变量来运行该命令。这种打包方式便于移植和分发Linux命令及其依赖环境。

2025-09-29 18:25:29 160

原创 C++使用std::shared_ptr和std::function实现半同步获取数据

本文介绍了一种利用C++的std::shared_ptr和std::function实现半同步数据获取的巧妙方法。通过自定义删除器和引用计数机制,实现了异步任务的并行执行与同步结果收集。核心思路是:主线程创建共享指针,每个异步任务持有其副本,任务完成后计数器递减,当最后一个任务完成时自动触发回调处理所有结果。这种方法简洁安全,既保持了异步执行的效率,又实现了结果收集的同步控制,展示了C++智能指针和函数对象的强大组合能力。

2025-09-29 12:25:23 400

原创 批量修改ssh端口和root密码

【代码】批量修改ssh端口和root密码。

2025-09-16 15:42:31 202

原创 void*指针类型转换笔记

类对象指针转成 void* 后,若要还原指针,必须先转回原始指针类型,再转为基类指针。禁止直接将 void* 强转为非首基类指针,否则指针偏移错误,访问将导致未定义行为。

2025-09-04 22:14:55 235

原创 C++源代码批量转码utf8

废话不说,直接上脚本呢。

2025-08-28 15:52:22 196

原创 程序开发中常用的 Emoji 符号

Emoji

2025-07-30 18:26:31 1052

原创 md5sum使用笔记

【代码】md5sum使用笔记。

2025-06-23 14:38:10 262

原创 Clion内置宏$PROJECT_DIR$等

CLion 提供了多种内置宏,帮助开发者在项目配置和文件路径处理中提高效率。这些宏主要分为两类:通用路径相关宏和路径相对化宏。通用路径宏如 $PROJECT_DIR$ 和 $FILE$ 用于获取项目根目录或当前文件的绝对路径,而路径相对化宏如 $FilePathRelativeToProjectRoot$ 则用于获取文件相对于项目根目录的路径。此外,$UnixSeparators(path)$ 宏可以将路径中的分隔符统一转换为 Unix 格式。这些宏在配置构建系统、运行配置和文件路径处理时非常有用,能够简化

2025-05-14 16:55:33 459

原创 shell的set -e和exit和return

【代码】shell的set -e和exit和return。

2025-04-15 20:24:28 299

原创 jenkins使用笔记

笔记使用版本是2.492.1。

2025-03-02 14:27:23 449

原创 ubuntu下nfs使用笔记

nfs

2025-02-06 17:52:25 368

原创 Ubuntu20.04调整swap分区大小笔记

Ubuntu20.04调整swap分区大小笔记。

2024-12-10 14:21:00 602

原创 C++的lamada表达是引用测试

【代码】C++的lamada表达是引用测试。

2024-11-27 12:16:15 252

原创 chrome允许http网站打开摄像头和麦克风

chrome允许http网站打开摄像头和麦克风chrome://flags/#unsafely-treat-insecure-origin-as-secure

2024-11-25 14:15:40 4187

原创 wget/curl命令笔记

wget命令笔记直接下载文件wget <url>直接下载文件不显示日志信息wget -q <url>下载文件重命名wget -qO <文件名> <url>响应信息直接打印到stdoutwget -qO- <url>响应头和响应信息直接打印到stdoutwget -qSO- <url>...

2024-11-25 14:08:26 407

原创 GB 35114-2017 学习笔记(规避版权阉割版)

这个政府网站提供GB 35114-2017标准的的预览和下载,有需要的自行下载GB 35114-2017作为一个国家强制标准,在自己做个学习笔记,摘录了部分图片被版权投诉了。万恶的资本,无奈只能删除所有图片分享给大家了,图片部分替换成GB 35114-2017标准中的图片编号,请大家谅解。具体下载地址如下有能耐,投诉政府网站去。注:我只做了A级设备,主要对A级相关内容进行了笔记。B级和C级内容只是主要描述SVAC编码怎么添加签名和数据怎么加密的,

2024-11-21 11:28:49 1420

原创 Mysql数据库SQL语句执行日志

mysql查看sql语句的执行情况2. 通用查询日志查看状态和路径:动态开启:动态关闭:3. 慢查询日志查看状态、路径和慢查询阈值:动态开启:动态关闭:4. 二进制日志查看状态和配置:二进制日志无法通过动态命令开启/关闭,需要通过配置文件设置。查询SQL执行日志第一步 查看日志开关情况第二步 开启通用日志第三步 查看日志查看mysql正在执行的sql语句注:需要替换mysql登录信息效果如下:

2024-11-20 21:08:02 2130

原创 OpenEular + KVM + virt-manager 笔记

修改文件 /etc/ssh/sshd_config,以下两项改为yes,然后重启sshd服务。OpenEvler 开启X11Forwarding配置,远程运行图形界面程序。MoBaXterm开启virt-manager。OpenEvler配置KVM。ssh会话开启X11。

2024-10-23 22:52:33 957

原创 Windows下搭建VUE开发环境

VS Marketplace 链接: https://marketplace.visualstudio.com/items?VS Marketplace 链接: https://marketplace.visualstudio.com/items?使用npm配置缓存和全局安装路径(注:配置环境变量时已经配置全局安装路到Path)环境变量,设置成nodejs的安装路径,我的是。我使用的是腾讯云镜像站。

2024-10-17 20:58:50 2925

原创 PCM转PCMA(pcm_alaw,G711.A率)转换表 && PCM转PCMU(pcm_ulaw,G711.U率)转换表

最近要做一个功能,int16_t的PCM数据转为uint8的PCMA数据,网上的不太可信,找ffmpeg库,发现ffmpeg库使用的是查表发实现的,PCM有符号,加上32768变成正数除以4查表即可。编译上有些小问题,没太关注,直接使用了注释大法,没有用的统统干掉,编译通过,执行生成转换映射表。不用再去研究转换公式,直接对照着表查询结果即可。而且还有线程的生成表数据的源代码,可信度非常高。可参照ffmpeg源代码pcm.c使用。

2024-08-31 12:54:08 1265

原创 GB28181 SDP协议学习笔记

其中第一位为历史或者实时媒体流的标识位,0为实时,1为历史;第2位到第6位取20位SIP监控域ID之中的4-8位作为域标识;第7-10位作为域内媒体流标识,是一个与当前域内产生的媒体流SSRC值后4位不重复的四位十进制整数。"v="字段表示会话描述协议的版本。本文定义的版本为0,没有次版本号。当回放或者下载时,t行值为开始时间,结束时间,采样" "分隔。"Playback"代表历史回放。"Download"代表文件下载。"Talk"代表语音对讲。"Play"代表实时点播。

2024-08-27 17:50:25 1721

原创 Websocket笔记

服务器可以使用这个字段来检查请求是否来自允许的来源,以防止跨站点 WebSocket 攻击(CSWSH)。可选字段,表示客户端支持的子协议。服务器会在响应中选择一个协议,或者忽略这个字段。服务器基于客户端发送的 Sec-WebSocket-Key 计算出的 Base64 编码字符串,用于确认握手的有效性。这个字段是 HTTP/1.1 的标准要求,表示目标服务器的域名。表示服务器接受了协议升级请求,并切换到 WebSocket 协议。如果客户端请求了多个子协议,服务器会在此字段中返回所选的协议。

2024-08-25 19:09:37 1325

原创 realloc学习笔记

最近用到curl做业务,引了自己写封装的curl库,看到的数据回调函数中使用了realloc函数,处理逻辑有些想不请来了,不排除这个函数是copy别人的。分析一下源码,做一下笔记。

2024-08-14 11:17:33 903

原创 Shell参数扩展形式学习笔记

Shell 参数扩展

2024-05-08 14:29:14 1235

原创 C++11 thread_local学习笔记

thread_local

2024-04-06 14:20:49 393

原创 GB28181全局数据类型定义与目录应答示例

GB28181全局数据类型定义

2024-01-15 20:10:08 924

原创 创建局域网git裸仓库

创建局域网git裸仓库,不说废话,直接上脚本。

2023-12-20 19:25:32 963

原创 ngrok编译

ngrok

2023-12-19 18:50:20 654

原创 Docker部署Yapi(ubuntu)

Docker部署Yapi(ubuntu)文章目录Docker部署Yapi(ubuntu)安装mongodb拉取镜像开启镜像测试安装mongodbsudo apt-get install mongodbpgrep mongo -l查看进程是否已经启动,郁闷,没有反应sudo systemctl status mongodb 启动不起来,怎么办,怎么办。。。放弃。。。。。拉取镜像docker pull silsuer/yapi开启镜像docker run -dit -p 27017:2701

2023-12-19 18:48:44 568

原创 C/C++函数调用栈信息输出(backtrace & backtrace_symbols)

最近工作,搞了一个死锁问题,加了好多输出无法定位问题。就想着在锁操作调用的地方输出函数调用栈信息,试了一下,竟然实现了。

2023-12-14 16:54:52 1682

原创 docker buildx跨架构构建笔记(x86_64构建下构建aarch64镜像)

Docker Buildx 是 Docker 团队为 Docker 引擎设计的一个工具,用于支持构建和管理多平台的容器镜像。它扩展了 Docker 构建工具,使得可以跨多个不同的架构和操作系统进行构建。

2023-11-30 17:44:53 4182 1

原创 linaro交叉编译工具链下载与使用笔记

通常,在交叉编译环境中,交叉编译器用于生成二进制可执行文件,而 runtime 和 sysroot 文件则提供了在目标平台上运行这些生成的可执行文件所需的运行时支持和库。这三个文件通常用于交叉编译环境,特别是用于在 x86_64 主机上进行 ARM64(aarch64-linux-gnu)目标平台的交叉编译。我的目标环境:RK3588的aarch64架构,系统ubuntu20.04,小端(Little Endian)架构。我的开发环境:Inter的x86_64架构,系统ubuntu20.04。

2023-11-28 20:48:59 17326 6

原创 proto语法学习笔记

Proto 使用消息定义来描述数据结构。消息是一组字段的集合,每个字段都有一个唯一的标识符和数据类型。```proto```除了消息定义,Proto 还可以定义服务,其中包含 RPC(远程过程调用)方法的签名。

2023-11-24 16:29:12 2198

原创 gSOAP-2.8编译

CentOS7.4

2023-09-07 14:03:05 531

原创 CentOS7.4开发环境搭建

2023-09-02 09:43:19 275

原创 GmSSL-3.0.0国密支持的验证笔记

github上的tag只有3.0.0和3.1.1两个版本。

2023-08-01 14:40:18 2067 3

空空如也

空空如也

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

TA关注的人

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