当前位置: 首页 > article >正文

GB28181模拟环境搭建:从零到一的实战避坑指南

1. 为什么你需要一个GB28181模拟环境如果你正在开发或者测试一个和视频监控相关的平台尤其是涉及到国标GB28181协议对接那你肯定遇到过这样的场景手头没有真实的IPC网络摄像机或者NVR网络硬盘录像机但代码和逻辑又必须调试。直接找一台物理设备来联调成本高、流程繁琐而且一旦出了问题很难定位是平台的问题还是设备的问题。这时候一个本地的、可控的GB28181模拟环境就成了你的“救命稻草”。我自己在刚接触国标协议的时候也走了不少弯路。当时为了测试一个简单的设备注册功能到处找设备折腾网络最后发现是SIP消息里的一个字段格式不对。如果当时有一个现成的模拟环境可能半天就能搞定的事情硬是花了两三天。所以搭建模拟环境的核心目的就是让你在本地电脑上快速、低成本地复现和调试与真实设备交互的全过程。无论是测试设备注册、心跳保活、视频点播、云台控制还是单纯想学习GB28181协议的信令交互一个模拟环境都能让你事半功倍。这个指南就是为你——无论是刚入门的新手开发者还是需要快速搭建测试环境的工程师——准备的一份从零到一的实战手册。我们完全在Windows环境下操作用最直观的工具避开最常见的坑目标是让你跟着步骤走就能一次搭建成功并看到视频流正常播放。好了废话不多说我们直接开始准备“家伙事儿”。2. 搭建前的准备工作别小看这些细节搭建环境就像盖房子地基打得好后面才稳。这一步我们主要搞定三样东西网络环境、抓包工具和必要的运行库。很多朋友第一次失败八成是栽在了准备工作上。2.1 搞定网络防火墙、网卡与IP地址这是最容易出问题也最关键的环节。GB28181基于SIP协议通信对网络环境比较敏感。首先关闭防火墙。这不是建议是强烈要求。Windows防火墙或者你安装的第三方安全软件很可能会拦截我们模拟工具之间发送的UDP数据包SIP默认用UDP 5060端口。为了排除干扰最直接的方法就是在测试期间暂时关闭它们。你可以通过Windows安全中心关闭防火墙或者至少为我们将要使用的工具比如自动化测试工具和模拟设备程序添加入站和出站规则允许它们通信。其次理清你的网络接口。很多开发者的电脑不止一张网卡有线网卡、无线Wi-Fi网卡还有可能安装了虚拟网卡比如VMware、Docker创建的。SIP协议在发送消息时如果系统有多个活跃的网络接口它可能会“选错路”导致消息发不到你期望的IP地址上。我的经验是在测试时最好只保留一个你计划使用的网络连接处于启用状态。比如如果你打算让模拟设备和测试工具都在本机127.0.0.1通信那就禁用无线网络只保留有线网络或者都不断开但确保配置的IP正确。更稳妥的做法是我们后续会利用一个特殊的“回环网卡”来捕获本机流量这能完美解决多网卡干扰问题。最后确定你的本机IP。打开命令提示符cmd输入ipconfig找到你正在使用的网络适配器比如“以太网适配器”或“WLAN适配器”记下它的IPv4地址例如192.168.1.100。这个地址将作为我们后续配置中“服务器IP”或“设备IP”的关键参数。2.2 安装Wireshark与Npcap我们的“协议显微镜”Wireshark是网络分析的瑞士军刀在我们搭建和调试GB28181环境时必不可少。通过它你可以亲眼看到SIP信令的每一个请求和响应比如REGISTER注册、INVITE邀请点播、ACK确认等这对于排查问题至关重要。但是在Windows上安装Wireshark有个必须注意的坑安装组件选择。很多教程让你装Wireshark时默认会勾选“WinPcap”。但根据我的实测对于我们要用的这套国标自动化测试工具安装时请务必选择“Npcap”。Npcap是WinPcap的现代替代品兼容性更好特别是它支持“Npcap Loopback Adapter”回环适配器这个功能允许Wireshark捕获本机内部进程间通信的网络包这正是我们需要的——因为我们的测试工具和模拟设备都跑在同一台电脑上。具体安装时在Wireshark安装向导的“Choose Components”页面请确保勾选“Install Npcap”并且在其子选项中务必勾选“Install Npcap in WinPcap API-compatible Mode”以及“Support loopback traffic”。这样安装后你的网络连接里会多出一个叫“Npcap Loopback Adapter”的虚拟网卡我们抓包时就选它可以清晰看到所有本地流量。2.3 获取核心工具自动化测试工具与模拟设备这是我们的主角。你需要找到两个核心程序GB28181-2016自动化测试工具通常作为“服务器”或“平台”端和GB28181模拟设备作为“设备”端。这些工具在一些开源社区、技术博客或相关的开发者资源站可以找到。为了演示我们假设你已经下载并解压到了两个文件夹比如D:\GB28181_TestTool和D:\GB28181_SimDevice。拿到工具后先别急着运行。建议你把它们添加到杀毒软件的白名单里防止被误杀。然后用管理员权限分别运行一下看看确认没有缺少DLL之类的运行时错误。如果有报错提示缺少MSVCP140.dll或VCRUNTIME说明你需要安装Visual C Redistributable运行库去微软官网下载安装最新版的即可。3. 配置“服务器端”自动化测试工具详解我们把自动化测试工具当作GB28181协议中的SIP服务器SIP Server和媒体接收端。它的作用是接收设备的注册响应设备的请求并主动发起视频点播等命令。3.1 首次运行与基础配置首先以管理员身份运行GB28181-2016自动化测试工具.exe。第一次打开你可能会看到一个配置界面或者直接进入主界面。我们需要找到配置服务器参数的地方通常是在“设置”、“配置”或类似的菜单里。关键配置项如下你需要根据自己电脑的实际情况填写本地IP/服务器IP这里填写你本机的IP地址也就是之前用ipconfig查到的那个例如192.168.2.21。非常重要这个IP将是模拟设备寻找和连接的目标地址。本地端口/SIP端口默认是5060这是SIP协议的标准端口一般不用改。SIP ID这是服务器的唯一标识符遵循国标规定的20位编码规则。例如你可以用44010200492000000001。记住它模拟设备配置里要与此一致。SIP域这是服务器的域标识通常是SIP ID的前10位。例如对应上面的SIP ID域就是4401020049。同样设备端配置也要一致。传输协议选择UDP或TCP。国标通常使用UDP我们这里也选UDP效率更高。配置完成后点击“确认”或“保存”。此时测试工具应该已经开始监听本机IP的5060端口等待设备注册了。你可以在工具的日志窗口看到类似“SIP Server started on [IP]:5060”的提示。3.2 理解运行界面与测试用例配置保存后工具通常会进入主运行界面。这个界面可能包含多个测试用例比如“设备注册”、“实时点播”、“历史回放”、“云台控制”等等。对于初次搭建我们的目标是验证最基本的链路设备注册和实时视频点播。找到运行或测试界面你会看到一个测试用例列表。选择类似于“11 实时视频”或 “实时点播” 的用例。选择它之后工具可能会自动帮你勾选其依赖的前置用例比如“1 设备注册”、“2 设备目录查询”等。这是一个很好的设计确保了测试流程的完整性。在开始测试前这个界面可能还需要你填入待测设备的设备ID。这个ID我们稍后在模拟设备中配置。你可以先留空或者提前填上我们即将为模拟设备设置的ID34020000001110000001。4. 配置“设备端”模拟设备XML配置全解析模拟设备通常是一个可执行程序如GB28181Device.exe配合一个配置文件如config.xml工作。程序的行为完全由这个XML文件控制所以我们必须把它配置正确。4.1 逐项解读config.xml用记事本或任何代码编辑器打开config.xml。里面的选项看起来很多但核心的就那么几项。我们对照着服务器的配置来改?xml version1.0 encodingutf-8? config version2016/version !-- 协议版本我们选2016 -- !-- 最关键的三项必须与服务器配置匹配 -- server_ip192.168.2.21/server_ip !-- 填写你的本机IP即测试工具监听的IP -- server_port5060/server_port !-- SIP端口与服务器一致 -- server_id44010200492000000001/server_id !-- 必须与测试工具中的SIP ID完全相同 -- server_domain4401020049/server_domain !-- 必须与测试工具中的SIP域完全相同 -- local_port0/local_port !-- 设备本地SIP端口0表示由系统随机分配 -- !-- 设备自身标识 -- device_id34020000001110000001/device_id !-- 设备ID在平台中唯一标识此设备 -- device_nameMy_Sim_Camera/device_name !-- 设备名称可自定义 -- password12345678/password !-- 注册密码测试工具一般有默认或可配置 -- protocoludp/protocol !-- 信令传输协议选udp -- media_protocoltcp/media_protocol !-- 媒体流传输协议选tcp更稳定 -- reg_expires3600/reg_expires !-- 注册有效期3600秒 -- heartbeat_interval30/heartbeat_interval !-- 心跳间隔30秒 -- media_base_port19000/media_base_port !-- 媒体流起始端口设备会从这个端口开始尝试发送流 --重中之重server_ip,server_id,server_domain这三项必须一字不差地和自动化测试工具中的配置对应上。这是设备能找到并成功注册到服务器的前提。device_id是设备自己的身份证在测试工具发起点播请求时需要用到。4.2 配置音视频通道配置文件往下翻你会看到channel部分这代表设备上的一个视频通道可以理解为一个摄像头。channel cid34020000001310000001/cid !-- 通道ID通常由设备ID衍生 -- cnameChannel_01/cname !-- 通道名称 -- media_urltest_video.mp4/media_url !-- 媒体源 -- ondemand0/ondemand output video codecH264/codec !-- 视频编码 -- width1920/width height1080/height framerate25/framerate bitrate2048/bitrate /video audio codecG711A/codec !-- 音频编码国标常用G.711A -- samplerate8000/samplerate channels1/channels /audio /output /channelmedia_url是最容易出错的地方之一。它指定了视频流的来源。如果你放一个MP4文件的路径如D:\test.mp4模拟设备就会循环播放这个文件作为视频源。你也可以填入一个RTSP流地址如rtsp://admin:123456192.168.1.64:554/h264/ch1/main/av_stream模拟设备会去拉取这个流并转发出去。确保这个路径或地址是有效的。对于初学者我强烈建议先用一个小的、确定能播放的MP4文件放在模拟设备同级目录然后这里只写文件名如test.mp4。codec设置必须和你的媒体源匹配。如果MP4文件是H.264编码这里就写H264。音频常用G.711A即PCMA这是国标中的常见格式。5. 联调实战一次成功的通信与点播所有配置检查无误后就到了最激动人心的联调环节。操作顺序很重要请严格按照以下步骤第一步启动Wireshark并开始抓包。打开Wireshark在接口列表中选择我们之前提到的“Npcap Loopback Adapter”。然后点击开始捕获。在过滤栏输入port 5060这样只会显示SIP信令界面更清晰。这一步先做可以让我们从头到尾看到所有交互。第二步启动GB28181自动化测试工具。确保它已经按照3.1节配置好并进入了主运行界面。你应该能在日志区看到服务器启动成功的消息。第三步在测试工具中启动测试用例。在运行界面选中“11 实时视频”这个测试用例或类似点播用例。在相关的设备ID输入框里填入模拟设备的ID34020000001110000001。然后点击“运行”或“开始测试”按钮。点击后测试工具会开始执行测试流程但此时因为设备还没启动它会卡在等待设备注册或发送INVITE请求的阶段。这是正常的。第四步启动模拟设备。运行GB28181Device.exe。观察它的控制台或日志窗口。如果一切配置正确你应该在几秒内看到它输出类似“Send REGISTER to server...”和“REGISTER success!”的日志。这表示设备已经成功向服务器测试工具注册了。第五步观察测试工具与视频播放。一旦设备注册成功等待中的测试工具会立刻继续执行后续流程发送目录查询、发送视频点播INVITE请求。如果一切顺利你会在测试工具的日志区看到一连串的成功消息并且最关键的是——可能会弹出一个视频播放窗口里面开始播放你配置的MP4文件或RTSP流的内容同时音频如果配置正确也应该能听到声音。第六步分析Wireshark抓包。此时Wireshark窗口应该已经捕获到了密集的SIP消息。你可以看到完整的信令交互过程REGISTER设备向服务器注册。200 OK服务器响应注册成功。MESSAGE可选可能是目录查询。INVITE服务器测试工具向设备发起视频点播邀请消息体中包含了SDP会话描述协议指明了媒体接收的IP、端口和编码格式。200 OK设备同意邀请并回复自己的SDP媒体发送的IP、端口和编码格式。ACK服务器确认。此后你应该能看到在SDP协商的端口上比如19000开始有大量的RTP数据包承载音视频流和RTCP包。通过抓包你可以最权威地确认通信是否真的按国标协议在进行。如果哪一步出错了比如没有收到200 OK或者SDP协商失败抓包信息就是最好的调试依据。6. 常见问题排查与深度避坑指南即使按照步骤来也可能遇到问题。这里我总结几个我踩过的坑和解决办法问题一模拟设备启动后日志显示“注册失败”或“连接服务器失败”。检查1IP地址是否正确。这是最高发的问题。确认config.xml里的server_ip是否就是测试工具所在电脑的IP且没有填成127.0.0.1除非测试工具绑定的是127.0.0.1。在测试工具和模拟设备不是同一台电脑时要确保IP能互相ping通。检查2SIP ID和域是否匹配。逐字符核对server_id和server_domain大小写、数字一个都不能错。检查3防火墙。再次确认是否关闭了防火墙或者为测试工具和模拟设备的可执行文件添加了出入站规则。检查4端口占用。确认5060端口没有被其他程序如其他SIP软件、Skype等占用。可以用netstat -ano | findstr :5060命令查看。问题二设备注册成功但点播时测试工具报错或没有视频流。检查1设备ID是否正确。测试工具发起点播时填写的设备ID必须和config.xml里的device_id完全一致。检查2媒体源配置。重点检查media_url。如果是文件路径确保文件存在且可读。如果是RTSP流确保流地址有效且网络可达。可以先用VLC播放器测试一下这个RTSP流是否能正常拉取。检查3编码格式支持。确认测试工具是否支持设备配置的codec如H264, G711A。通常国标测试工具都支持这些标准格式。检查4抓包分析SDP。查看Wireshark中INVITE和200 OK里的SDP内容。看双方的IP、端口、编码格式artpmap是否协商一致。有时设备回复的SDP中媒体IP是错的比如是0.0.0.0或另一个网卡的IP这会导致服务器无法接收流。问题三Wireshark抓不到包或者抓到的包不是本地流量。确认网卡选择一定要选“Npcap Loopback Adapter”。确认安装选项回顾2.2节是否安装了Npcap并开启了loopback支持。过滤条件使用port 5060过滤SIP使用rtp过滤媒体流。也可以尝试ip.addr 你的本机IP来过滤所有与本机相关的包。问题四视频播放卡顿或花屏。媒体协议在config.xml中尝试将media_protocol从udp改为tcp。TCP虽然延迟稍高但能保证流媒体的可靠传输在模拟环境下更稳定。电脑性能模拟设备推流、测试工具收流并解码播放会消耗一定的CPU资源。检查任务管理器看是否资源占用过高。码率设置检查bitrate设置是否过高。对于模拟测试设置一个适中的码率如1024或2048 kbps即可。搭建和调试的过程就是不断遇到问题、分析日志、查看抓包、解决问题的循环。当你第一次看到模拟设备的视频流在测试工具里成功播放出来时那种成就感会让你觉得前面的折腾都是值得的。这个环境一旦搭好就成了你学习和开发GB28181协议的强大沙盒随时可以测试各种业务场景而不用再依赖不可控的硬件设备了。

相关文章:

GB28181模拟环境搭建:从零到一的实战避坑指南

1. 为什么你需要一个GB28181模拟环境? 如果你正在开发或者测试一个和视频监控相关的平台,尤其是涉及到国标GB28181协议对接,那你肯定遇到过这样的场景:手头没有真实的IPC(网络摄像机)或者NVR(网…...

STM32F103低功耗模式实战:从寄存器到HAL库的全面解析

1. 为什么你的STM32项目耗电那么快?聊聊低功耗的“刚需” 你是不是也遇到过这种情况?辛辛苦苦用STM32F103做了个小玩意儿,比如一个无线温湿度计或者一个便携式数据记录仪,满心欢喜地装上电池,结果没两天就没电了。检查…...

Qt实战:用QToolBox打造动态可配置的侧边栏工具集(附完整代码)

Qt实战:用QToolBox打造动态可配置的侧边栏工具集(附完整代码) 在开发复杂的桌面应用程序时,尤其是那些面向专业用户的工具软件,一个清晰、灵活且可定制的用户界面至关重要。想象一下,你正在构建一个集成开发…...

从init.rc到StorageManager:图解Android 13存储服务启动全流程

从init.rc到StorageManager:图解Android 13存储服务启动全流程 如果你曾经好奇过,当按下Android设备的电源键,从内核启动到你能在文件管理器中看到“内部存储”和“SD卡”这个过程中,背后究竟发生了什么,那么这篇文章就…...

Guohua Diffusion 模型压缩与蒸馏:在边缘设备上运行的探索

Guohua Diffusion 模型压缩与蒸馏:在边缘设备上运行的探索 想让Guohua Diffusion这样强大的文生图模型在你的手机或者小型开发板上跑起来吗?这听起来像是个天方夜谭,毕竟这类模型动辄数十亿参数,对计算和内存的需求高得吓人。但现…...

HI3516CV608开发板实战:如何用ARM Cortex-A7双核+0.2T NPU打造智能监控摄像头(附配置清单)

HI3516CV608开发板实战:用双核A7与0.2T NPU构建你的智能视觉中枢 最近在捣鼓一个智能门铃的项目,核心需求很简单:能看清人脸、识别出是熟人还是陌生人,并且功耗要低,最好能靠电池撑上几个月。市面上现成的方案要么太贵…...

2025年最新VSCode插件离线下载攻略:手动拼接URL获取VSIX文件(附脚本)

2025年VSCode插件离线部署实战:从URL构造到企业级分发方案 最近在给团队配置一批新的开发环境时,我遇到了一个典型的企业场景:内网隔离环境下的VSCode插件部署。官方市场页面上的那个“Download Extension”按钮早已消失不见,而团…...

ICM vs 传统探索方法:在稀疏奖励环境下的性能对比实验

当环境沉默不语:ICM如何让智能体在“零反馈”中学会探索 想象一下,你被蒙上眼睛,扔进一个巨大而复杂的迷宫,唯一的目标是找到出口。但这里没有“你走对了”的提示音,也没有“此路不通”的警告。只有在最终推开出口大门…...

Windows提权实战:5种常见漏洞利用与防御指南(附详细命令)

Windows权限提升实战:从漏洞原理到防御加固的深度解析 在Windows安全领域,权限提升始终是攻防对抗的核心战场。无论是渗透测试人员验证系统安全性,还是安全运维人员加固防线,深入理解提权漏洞的成因、利用手法及防御策略&#xff…...

效率提升:基于快马AI自动化监控与修复战网更新服务睡眠模式

最近在和朋友联机打游戏时,经常遇到一个烦人的问题:战网客户端(Battle.net)的更新服务时不时就“睡着了”,显示“战网更新服务进入了睡眠模式,正尝试唤醒它”。每次都得手动去任务管理器里找服务、重启&…...

OpenWrt UCI 命令行实战:从网络配置到Luci管理界面部署

1. 初识UCI:OpenWrt的配置“总开关” 刚接触OpenWrt的朋友,第一次登录到那个黑乎乎的命令行界面时,多半会有点懵。没有熟悉的图形化设置页面,只有一个闪烁的光标,这路由器该怎么设置?别急,这正是…...

UI-TARS-desktop快速上手:无需代码实现浏览器自动化控制

UI-TARS-desktop快速上手:无需代码实现浏览器自动化控制 你是不是也厌倦了每天在浏览器里重复那些枯燥的点击、复制、粘贴操作?比如每天都要登录后台查看数据,或者在不同网站间来回切换收集信息。这些工作不仅耗时,还容易出错。 …...

FireRedASR Pro命令行工具开发:快速脚本调用与批量处理

FireRedASR Pro命令行工具开发:快速脚本调用与批量处理 你是不是也遇到过这样的场景?手头有一堆音频文件需要转成文字,一个一个打开软件、上传文件、点击识别,效率低得让人抓狂。或者,你想把语音识别功能集成到自己的…...

新手必看:在快马平台用AI生成飞牛漏洞靶场,零基础掌握逻辑漏洞

对于刚接触网络安全的朋友来说,逻辑漏洞常常让人感觉“看不见摸不着”,不像SQL注入或XSS那样有直接的攻击载荷。最近我在学习“飞牛漏洞”这类典型的逻辑缺陷时,就遇到了这个难题:光看理论文章,总觉得隔了一层纱&#…...

Nunchaku-flux-1-dev数据库应用:MySQL管理海量生成图像与元数据

Nunchaku-flux-1-dev数据库应用:MySQL管理海量生成图像与元数据 想象一下,你的团队每天用Nunchaku-flux-1-dev生成成千上万张产品图、营销素材或者设计稿。一开始,大家可能把图片随便存在电脑文件夹里,用Excel记一下生成参数。但…...

ESP32-C61 AT命令全解析:系统配置、Flash/NVS管理与Wi-Fi 6控制

ESP32-C61 AT 命令深度解析:系统级配置、存储管理与 Wi-Fi 控制全指南 在嵌入式物联网设备开发中,AT 命令作为轻量级、标准化的串行通信接口,承担着连接控制、状态查询、固件维护与底层硬件配置等关键职责。ESP32-C61 作为乐鑫新一代支持 Wi-Fi 6 和 Bluetooth LE 5.3 的 S…...

一键部署雪女-斗罗大陆-造相Z-Turbo:快速开启AI绘画之旅

一键部署雪女-斗罗大陆-造相Z-Turbo:快速开启AI绘画之旅 想亲手画出《斗罗大陆》里那位清冷绝美的雪女吗?想用AI把你的文字描述瞬间变成一张惊艳的二次元画作吗?今天,我们不用学习复杂的模型训练,也不用配置繁琐的Pyt…...

SenseVoice-small WebUI高级用法:自定义热词增强特定领域识别

SenseVoice-small WebUI高级用法:自定义热词增强特定领域识别 1. 引言:当语音识别遇到专业术语 想象一下,你正在用语音识别工具整理一场医学研讨会的内容。医生们讨论着“冠状动脉粥样硬化”、“经皮冠状动脉介入治疗”这些专业术语&#x…...

OpenClaw 是什么

如果你用过ChatGPT,你会知道它本质上是一个问答系统:你问,它答。OpenClaw不一样。它是一个AI Agent平台,能连接20消息渠道(WhatsApp、Telegram、飞书、钉钉、Discord等),主动执行任务、管理你的…...

Nomic-Embed-Text-V2-MoE 内网穿透方案:安全访问私有化部署的模型API

Nomic-Embed-Text-V2-MoE 内网穿透方案:安全访问私有化部署的模型API 最近有不少朋友在部署完Nomic-Embed-Text-V2-MoE这类文本嵌入模型后,遇到了一个挺实际的问题:模型部署在公司内网或者自己的私有服务器上,性能是稳了&#xf…...

Z-Image-Turbo进阶技巧:用括号和否定词让你的图片更出彩

Z-Image-Turbo进阶技巧:用括号和否定词让你的图片更出彩 你用过Z-Image-Turbo,觉得它快、稳、出图质量不错。但有没有那么一瞬间,你看着生成的图片,心里会想:“嗯,是那个意思,但好像还差那么一…...

【国家级等保2.0适配指南】:MCP 2.0协议安全规范12项强制校验项报错映射表(含CVE-2024-XXXX漏洞规避方案)

第一章:MCP 2.0协议安全规范报错解决方法总览MCP 2.0(Managed Communication Protocol 2.0)协议在实施TLS双向认证、JWT签名验证及密钥轮换策略时,常因配置偏差或运行时环境不一致触发安全规范校验失败。典型报错包括 ERR_MCP_SIG…...

cv_unet_image-colorization效果展示:同一场景不同年代黑白照AI上色后时间轴色彩演化

cv_unet_image-colorization效果展示:同一场景不同年代黑白照AI上色后时间轴色彩演化 1. 引言:当黑白记忆遇见彩色未来 你有没有翻过家里的老相册?那些泛黄的黑白照片里,藏着爷爷奶奶年轻时的模样,记录着城市曾经的街…...

all-MiniLM-L6-v2多场景落地:客服问答匹配、合同条款相似性分析、简历筛选

all-MiniLM-L6-v2多场景落地:客服问答匹配、合同条款相似性分析、简历筛选 你是不是也遇到过这些问题?客服系统里,用户问“怎么退款”,机器人却回答“如何购买”;审阅合同时,需要手动对比几十页的条款&…...

FreeRTOS开发和裸机开发的区别

目录 1.裸机程序设计模式 1.1 轮询模式 示例代码如下: 1.2 前后台 示例程序如下: 在这个场景里,给同事回复信息非常及时: 1.3 定时器驱动 示例代码如下: 1.4 基于状态机 可以使用状态机来解决这个缺点&#…...

C#程序语言学习20260312

抽象类:就像“动物”这个概念你见过纯纯的“动物”吗?没有。你见到的都是具体的“狗”、“猫”、“鸟”。 “动物”就是一个抽象的概念,它定义了一些所有动物都应该有的东西(比如“会动”、“会叫”),但具体…...

蓝桥杯算法精讲:贪心算法的简单应用与题解

目录前言一、贪心算法1.1 简单贪心1.1.1 货舱选址1.1.2 最大子段和1.1.3 纪念品分组1.1.4 排座椅1.1.5 矩阵消除游戏结语🎬 云泽Q:个人主页🔥 专栏传送入口: 《C语言》《数据结构》《C》《Linux》《蓝桥杯系列》⛺️遇见安然遇见你&#xff0…...

简单易用:DDColor黑白照片修复,ComfyUI可视化操作,无需专业修图技能

简单易用:DDColor黑白照片修复,ComfyUI可视化操作,无需专业修图技能 你是否曾翻出一张泛黄的黑白老照片,看着祖辈模糊的笑容或童年模糊的街景,希望它们能重焕光彩?过去,这需要专业的修图技能和…...

LiuJuan20260223Zimage构建内网知识库:安全环境下的智能问答应用

LiuJuan20260223Zimage构建内网知识库:安全环境下的智能问答应用 1. 引言:当智能问答遇上数据安全 想象一下,你在一家金融机构或政府部门工作,每天需要从堆积如山的内部政策文件、研究报告或历史档案里查找信息。传统的搜索工具…...

黄仁勋联手OpenAI前高管,1吉瓦超级算力明年开闸

1吉瓦,数百亿美金。 刚刚,前OpenAI高管、硅谷传奇女性创业者Mira Murati和她的初创公司,与四万亿芯片帝国掌舵人黄仁勋达成了一项「吉瓦级」的长期战略合作! 英伟达CEO黄仁勋(左)与Thinking Machines Lab创…...