Qt/C++開發監控GB28181系統/云臺控制/獲取預置位信息/添加刪除調用預置位

一、前言

之前用onvif已經完美實現了設備的云臺控制和預置位的功能,這個基礎功能在監控系統中是使用頻率很高的,所有gb28181肯定也提供了這樣的功能,很多人以為是通過包含xml數據,對應節點指定對應的動作來實現,其實不是的,是類似于早期模擬設備的云臺的串口協議中的控制指令,16進制格式的數據,一個個字節表示對應的含義,這個在國標文檔中寫的非常的詳細,按照那個規則來肯定錯不了,上下左右移動有個字節位是固定的數據,所以程序這邊只需要根據要操作的動作填充對應位的數據即可。

和云臺控制一起的還有鏡頭放大縮小、光圈放大縮小、鏡頭聚焦和放焦,這些也都是一樣的規則,奇怪的是,預置位的添加刪除修改調用也都是這個規則,之前還以為是單獨的xml格式的數據或者指令。不過遺憾的是預置位的信息并不支持名稱的修改,而onvif那邊是可以的,有時候希望給預置位改成一個中文的名字方便調用查閱等,不知道后續的國標協議會不會增加進去,個人覺得還是要支持比較好。

//云臺控制:服務端-》設備端
MESSAGE sip:34020000001320000002@192.168.0.64:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.110:15060;branch=z3hG9bK801c1bb8b2234e2e94be74f0087e28f5
From: <sip:34020000002000000001@192.168.0.110:15060>;tag=1022
To: <sip:34020000001320000002@192.168.0.64:5060>
Call-ID: 6822f48163704effb5b58d7031eba9f4
CSeq: 23 MESSAGE
User-Agent: wx_feiyangqingyun
Max-Forwards: 70
Content-Length: 251
Content-Type: application/MANSCDP+xml
Contact: <sip:34020000002000000001@192.168.0.110:15060><?xml version="1.0" encoding="GB2312"?>
<Control><CmdType>DeviceControl</CmdType><SN>10022</SN><DeviceID>34020000001310000001</DeviceID><PTZCmd>A50F01029600004D</PTZCmd><Info><ControlPriority>5</ControlPriority></Info>
</Control>//控制應答:設備端-》服務端
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.110:15060;branch=z3hG9bK801c1bb8b2234e2e94be74f0087e28f5
From: <sip:34020000002000000001@192.168.0.110:15060>;tag=1022
To: <sip:34020000001320000002@192.168.0.64:5060>;tag=1060605518
Call-ID: 6822f48163704effb5b58d7031eba9f4
CSeq: 23 MESSAGE
User-Agent: IP Camera
Content-Length: 0//停止云臺:服務端-》設備端
MESSAGE sip:34020000001320000002@192.168.0.64:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.110:15060;branch=z3hG9bK3cb5f960d94549888269c12f4ed29c9e
From: <sip:34020000002000000001@192.168.0.110:15060>;tag=1023
To: <sip:34020000001320000002@192.168.0.64:5060>
Call-ID: f3124084767d48909decda7579e3f96b
CSeq: 24 MESSAGE
User-Agent: wx_feiyangqingyun
Max-Forwards: 70
Content-Length: 251
Content-Type: application/MANSCDP+xml
Contact: <sip:34020000002000000001@192.168.0.110:15060><?xml version="1.0" encoding="GB2312"?>
<Control><CmdType>DeviceControl</CmdType><SN>10023</SN><DeviceID>34020000001310000001</DeviceID><PTZCmd>A50F0100000000B5</PTZCmd><Info><ControlPriority>5</ControlPriority></Info>
</Control>//停止應答:設備端-》服務端
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.110:15060;branch=z3hG9bK3cb5f960d94549888269c12f4ed29c9e
From: <sip:34020000002000000001@192.168.0.110:15060>;tag=1023
To: <sip:34020000001320000002@192.168.0.64:5060>;tag=1071996623
Call-ID: f3124084767d48909decda7579e3f96b
CSeq: 24 MESSAGE
User-Agent: IP Camera
Content-Length: 0//查詢預置位:服務端-》設備端
MESSAGE sip:34020000001320000002@192.168.0.64:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.110:15060;branch=z3hG9bK5f11d64dadd7466cb06011e8971b788d
From: <sip:34020000002000000001@192.168.0.110:15060>;tag=1024
To: <sip:34020000001320000002@192.168.0.64:5060>
Call-ID: aac3afc576894717a72ed58030479bcb
CSeq: 25 MESSAGE
User-Agent: wx_feiyangqingyun
Max-Forwards: 70
Content-Length: 155
Content-Type: application/MANSCDP+xml
Contact: <sip:34020000002000000001@192.168.0.110:15060><?xml version="1.0" encoding="GB2312"?>
<Query><CmdType>PresetQuery</CmdType><SN>10024</SN><DeviceID>34020000001310000001</DeviceID>
</Query>//返回預置位:設備端-》服務端
MESSAGE sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.64:5060;rport;branch=z9hG4bK1149716366
From: <sip:34020000001320000002@3402000000>;tag=2001348774
To: <sip:34020000002000000001@3402000000>
Call-ID: 360379917
CSeq: 20 MESSAGE
Content-Type: Application/MANSCDP+xml
Max-Forwards: 70
User-Agent: IP Camera
Content-Length:   258<?xml version="1.0" encoding="GB2312"?>
<Response>
<CmdType>PresetQuery</CmdType>
<SN>10024</SN>
<DeviceID>34020000001310000001</DeviceID>
<PresetList Num="1">
<Item>
<PresetID>1</PresetID>
<PresetName>預置點 1</PresetName>
</Item>
</PresetList>
</Response>//添加預置位:服務端-》設備端
MESSAGE sip:34020000001320000002@192.168.0.64:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.110:15060;branch=z3hG9bK76caaff468eb43ca9818e6fb38cfd057
From: <sip:34020000002000000001@192.168.0.110:15060>;tag=1025
To: <sip:34020000001320000002@192.168.0.64:5060>
Call-ID: a01a7be3ba6b4214ac0755d92d0096c5
CSeq: 26 MESSAGE
User-Agent: wx_feiyangqingyun
Max-Forwards: 70
Content-Length: 251
Content-Type: application/MANSCDP+xml
Contact: <sip:34020000002000000001@192.168.0.110:15060><?xml version="1.0" encoding="GB2312"?>
<Control><CmdType>DeviceControl</CmdType><SN>10025</SN><DeviceID>34020000001310000001</DeviceID><PTZCmd>A50F018100020038</PTZCmd><Info><ControlPriority>5</ControlPriority></Info>
</Control>//刪除預置位:服務端-》設備端
MESSAGE sip:34020000001320000002@192.168.0.64:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.110:15060;branch=z3hG9bK9259fa44edce4797a69c4c58aa408d2c
From: <sip:34020000002000000001@192.168.0.110:15060>;tag=1027
To: <sip:34020000001320000002@192.168.0.64:5060>
Call-ID: 1bc5c4f7629b436ca66865c112ba2d47
CSeq: 28 MESSAGE
User-Agent: wx_feiyangqingyun
Max-Forwards: 70
Content-Length: 251
Content-Type: application/MANSCDP+xml
Contact: <sip:34020000002000000001@192.168.0.110:15060><?xml version="1.0" encoding="GB2312"?>
<Control><CmdType>DeviceControl</CmdType><SN>10027</SN><DeviceID>34020000001310000001</DeviceID><PTZCmd>A50F01830002003A</PTZCmd><Info><ControlPriority>5</ControlPriority></Info>
</Control>//修改預置位:服務端-》設備端
MESSAGE sip:34020000001320000002@192.168.0.64:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.110:15060;branch=z3hG9bKb968612c929f488bb3f105b907a61eba
From: <sip:34020000002000000001@192.168.0.110:15060>;tag=1031
To: <sip:34020000001320000002@192.168.0.64:5060>
Call-ID: 37bfa9cea6564707af579159d662db4a
CSeq: 32 MESSAGE
User-Agent: wx_feiyangqingyun
Max-Forwards: 70
Content-Length: 251
Content-Type: application/MANSCDP+xml
Contact: <sip:34020000002000000001@192.168.0.110:15060><?xml version="1.0" encoding="GB2312"?>
<Control><CmdType>DeviceControl</CmdType><SN>10031</SN><DeviceID>34020000001310000001</DeviceID><PTZCmd>A50F018100020038</PTZCmd><Info><ControlPriority>5</ControlPriority></Info>
</Control>//調用預置位:服務端-》設備端
MESSAGE sip:34020000001320000002@192.168.0.64:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.110:15060;branch=z3hG9bK3a2b16dffa134a25ad7158ef07ad8b07
From: <sip:34020000002000000001@192.168.0.110:15060>;tag=1032
To: <sip:34020000001320000002@192.168.0.64:5060>
Call-ID: 22431fe05dec47cbb789617b38caef58
CSeq: 33 MESSAGE
User-Agent: wx_feiyangqingyun
Max-Forwards: 70
Content-Length: 251
Content-Type: application/MANSCDP+xml
Contact: <sip:34020000002000000001@192.168.0.110:15060><?xml version="1.0" encoding="GB2312"?>
<Control><CmdType>DeviceControl</CmdType><SN>10032</SN><DeviceID>34020000001310000001</DeviceID><PTZCmd>A50F018200020039</PTZCmd><Info><ControlPriority>5</ControlPriority></Info>
</Control>

二、效果圖

在這里插入圖片描述

三、相關地址

  1. 國內站點:https://gitee.com/feiyangqingyun
  2. 國際站點:https://github.com/feiyangqingyun
  3. 個人作品:https://blog.csdn.net/feiyangqingyun/article/details/97565652
  4. 文件地址:https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g 提取碼:01jf 文件名:bin_video_gb28181。

四、功能特點

  1. 支持設備注冊、注銷、心跳、校時、注冊認證、注銷認證等。
  2. 設備上線后可以手動獲取設備狀態、設備信息、配置信息、預置位信息等。
  3. 設備上線后自動獲取設備通道信息,包括中文通道名稱。識別到通道上線離線變化,會重新獲取該設備的所有通道信息。
  4. 支持視頻點播,可以分別點播主碼流和子碼流,內置rtp解包線程,解包后發給視頻播放組件解碼播放。
  5. 每個設備每個通道支持點播多個視頻,通過ssrc區分,支持共用端口和不同端口收流。
  6. 支持對某個設備下面所有通道、某個通道、某個通道對應的某個流分別關閉。
  7. 支持錄像文件查詢和回放,回放控制支持暫停播放、繼續播放、倍速播放、切換播放進度。
  8. 支持錄像文件下載,支持倍速比如8倍速下載,可同時多線程批量下載。
  9. 回放和下載同時支持IPC和NVR,比如攝像頭自帶的SD存儲卡錄像文件回放,NVR上的硬盤錄像文件回放。
  10. 支持云臺控制,向上、向下、向左、向右、左上、右上、左下、右下方位移動,鏡頭放大縮小,光圈放大縮小,鏡頭聚焦放焦。
  11. 支持預置位信息的查詢、調用、添加、修改、刪除等操作。
  12. 自動目錄訂閱功能,通道上線下線都有對應的信號通知。
  13. 內置定時讀取通道信息機制,以保證通道信息是最新的,比如有些NVR是不斷更新的通道信息。
  14. 支持警情訂閱,各種警情事件比如運動目標檢測報警、入侵檢測報警、徘徊檢測報警等自動上報。
  15. 國標服務同時支持udp和tcp方式,可選只監聽一種或者兩種都監聽,tcp方式自動處理粘包問題。
  16. 國標拉流同時支持udp、tcp被動、tcp主動三種方式,每個通道都可以自由選擇何種拉流方式。
  17. 內置拉流端口池,每次拉流從中取出一個,關閉流自動回收端口號,重復利用。
  18. 收流端口自動糾錯,自動跳過被占用的端口,不會出現端口占用導致收流失敗的情況。
  19. 視頻播放自適應硬解碼,極低資源占用,實時性極好,帶懸浮條顯示視頻流信息,可以直接在懸浮條單擊按鈕保存錄像文件到本地。
  20. 支持幾千路國標消息交互并發,實時視頻流支持64路同時顯示,可以拓展更多路數。
  21. 支持阿里云等云服務器,可以分別設置內網監聽地址和外網訪問地址,一般云服務器上是監聽地址用內網,對外訪問用外網地址。
  22. 支持視頻分發,也就是推流,視頻通道打開后可以自動推流到流媒體服務器,其他需要的地方拉流即可,支持rtsp、rtmp、hls、webrtc等方式拉流。
  23. 同時支持gb28181-2011、gb28181-2016、gb28181-2022以及后續可能的所有協議版本。
  24. SIP解析和交互采用純Qt底層代碼實現,udp/tcp通信交互,祖傳原創代碼解析,不依賴任何第三方。
  25. 代碼量少,gb28181交互部分共幾千行代碼,注釋詳細,接口友好,使用極其簡單,提供非常詳細的使用示例。
  26. 支持海康、大華、宇視、華為、天地偉業等所有國標設備。
  27. 支持所有Qt版本和編譯器以及操作系統,包括但不限于win、linux、mac、android、嵌入式linux、樹莓派香橙派、國產os等。

五、相關代碼

//具體格式規范在gb28181-2016文檔的第79頁
//預置位和巡航等操作也是屬于云臺部分/速度參數就對應的預置位編號
QString GB28181Body::getPtzCmd(PtzType ptzType, quint8 ptzSpeed)
{//協議固定數據格式QByteArray data;data.append(0xA5);data.append(0x0F);data.append(0x01);data.append((char)0x00);data.append((char)0x00);data.append((char)0x00);data.append((char)0x00);data.append((char)0x00);//不同動作填充對應數據/下面的與運算是為了防止數據越界if (ptzType == PtzType_Right) {data[3] = 0x01;data[4] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_RightUp) {data[3] = 0x09;data[4] = ptzSpeed & 0xFF;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_Up) {data[3] = 0x08;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_LeftUp) {data[3] = 0x0A;data[4] = ptzSpeed & 0xFF;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_Left) {data[3] = 0x02;data[4] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_LeftDown) {data[3] = 0x06;data[4] = ptzSpeed & 0xFF;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_Down) {data[3] = 0x04;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_RightDown) {data[3] = 0x05;data[4] = ptzSpeed & 0xFF;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_ZoomIn) {data[3] = 0x10;data[6] = (ptzSpeed & 0x0F) << 4;} else if (ptzType == PtzType_ZoomOut) {data[3] = 0x20;data[6] = (ptzSpeed & 0x0F) << 4;} else if (ptzType == PtzType_IrisIn) {data[3] = 0x44;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_IrisOut) {data[3] = 0x48;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_FocusIn) {data[3] = 0x41;data[4] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_FocusOut) {data[3] = 0x42;data[4] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_AddPreset) {data[3] = 0x81;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_SetPreset) {data[3] = 0x82;data[5] = ptzSpeed & 0xFF;} else if (ptzType == PtzType_DelPreset) {data[3] = 0x83;data[5] = ptzSpeed & 0xFF;}//末尾字節是前面字節加起來int end = 0;int count = data.size();for (int i = 0; i < count - 1; ++i) {end += data.at(i);}data[7] = end;return QString(data.toHex()).toUpper();
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/78194.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78194.shtml
英文地址,請注明出處:http://en.pswp.cn/web/78194.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第T8周:貓狗識別

● 語言環境&#xff1a;Python3.8.8 ● 編譯器&#xff1a;Jupyter Lab ● 深度學習環境&#xff1a;TensorFlow2.4.1 貓狗識別 一、前期工作1. 設置GPU 二、數據預處理1. 加載數據2.再次檢查數據3.配置數據集 三、構建VG-16網絡四、編譯五、訓練模型六、模型評估七、預測八、…

主流微前端框架比較

主流微前端框架比較 以下表格列出了當前主流微前端框架的核心對比信息,包括基本介紹、核心特性、適用場景、技術棧兼容性、優缺點、社區維護情況和典型應用案例等: 框架基本介紹核心特性與機制適用場景技術棧兼容性優缺點社區維護情況典型應用案例qiankun螞蟻金服推出的生產…

大學生入學審核系統設計與實現【基于SpringBoot + Vue 前后端分離技術】

一、項目概述 1.1 項目背景 隨著高校的不斷擴招&#xff0c;傳統的入學審核管理模式已不能滿足大規模學生數據的處理需求。人工管理不僅效率低下&#xff0c;還容易出現疏漏。本系統通過信息化手段&#xff0c;提升入學審核過程中的數據管理和審批效率。 1.2 系統目標 系統…

云計算-容器云-服務網格Bookinfo

服務網格&#xff1a;創建 Ingress Gateway 將 Bookinfo 應用部署到 default 命名空間下&#xff0c;請為 Bookinfo 應用創建一個網 關&#xff0c;使外部可以訪問 Bookinfo 應用。 上傳ServiceMesh.tar.gz包 [rootk8s-master-node1 ~]# tar -zxvf ServiceMesh.tar.gz [rootk…

Spring 分批處理 + 冷熱數據分離:歷史訂單高效遷移與數據清理實戰

在實際業務中&#xff0c;隨著時間推移&#xff0c;訂單量持續增長&#xff0c;若未及時進行數據治理&#xff0c;會造成數據庫膨脹、查詢緩慢、性能下降等問題。為了實現數據分層管理和系統高性能運行&#xff0c;我們在項目中采用了“冷熱數據分離 分批遷移 數據清理”的綜…

新手SEO優化核心步驟

內容概要 對于SEO新手而言&#xff0c;建立系統化的優化框架是突破入門瓶頸的關鍵。SEO的核心在于通過技術手段與內容策略的結合&#xff0c;提升網站在搜索引擎中的可見性與用戶價值。具體而言&#xff0c;新手需優先掌握關鍵詞研究&#xff0c;明確目標用戶的搜索意圖&#…

C++ 之 【list的簡介、list 的構造函數、iterator、容量操作、元素訪問、增刪查改與迭代器失效】

目錄 1.list的介紹 2.list的使用 2.1 構造函數 2.2 iterator 的使用 2.3 容量操作 2.4 元素訪問 2.5 增刪查改 2.5.1頭插頭刪與尾插尾刪 2.5.2 insert 、erase 函數 2.5.3 clear、swap函數 2.5.4 關于find函數 3.迭代器失效 1.list的介紹 (1)list的底層通常實現為帶…

Laravel Octane 項目加速與靜態資源優化指南

Laravel Octane 項目加速與靜態資源優化指南 一、Octane 核心加速配置 擴展安裝與環境配置 composer require laravel/octane # 安裝核心擴展?php artisan octane:install # 生成配置文件&#xff08;選擇 Swoole/RoadRunner 等服務器&#xff09;?服務器參數調優? …

高露潔牙膏是哪個國家的品牌?高露潔牙膏哪一款最好?

高露潔是來自于美國一個比較有知名度的品牌&#xff0c;在1806年的時候創立。總部是在美國紐約公園大道&#xff0c;在1873年時&#xff0c;高露潔就已經開始銷售罐裝牙膏。 在1896年時期推出可折疊管牙膏&#xff0c;在口腔護理產品發展的過程中擁有著不容忽視的地位。在1992…

【Python爬蟲詳解】第八篇:突破反爬體系的工程實踐

當矛與盾的較量進入白熱化&#xff0c;突破反爬需要的不只是技巧&#xff0c;更是一套完整的工程化解決方案——本文將揭示對抗現代反爬體系的九大核心戰術。 一、JavaScript混淆的深度破解 1. AST&#xff08;抽象語法樹&#xff09;解混淆 案例&#xff1a;某電商平臺商品價…

【Linux調整FTP端口】

Linux調整FTP端口 一、確保新端口未被占用在修改端口之前&#xff0c;可以使用以下命令檢查端口是否被占用&#xff1a; 二、修改vsftpd配置文件1. 打開vsftpd配置文件2. 找到并修改端口配置3. 保存并退出4. 重啟vsftpd服務 三、配置防火墻 在Linux系統中修改FTP端口&#xff0…

npm打包內存不足- JavaScript heap out of memory

直接貼出報錯信息 <--- Last few GCs --->[30904:0000010F60FE58E0] 22090 ms: Scavenge 2037.4 (2069.4) -> 2036.4 (2074.2) MB, 2.5 / 0.0 ms (average mu 0.228, current mu 0.216) allocation failure [30904:0000010F60FE58E0] 22101 ms: Scavenge 2…

AI大語言模型破譯“未知未知”的密鑰:開源情報、被動收入與智能體協作的深層機理與實踐

在人類認識世界的漫長征程中&#xff0c;信息與知識的獲取和運用一直是核心驅動力。我們從“一無所知”的狀態&#xff0c;逐漸積累“已知已知”&#xff0c;并在此基礎上識別“已知未知”&#xff0c;設定目標去探索解答。然而&#xff0c;真正能夠帶來范式轉變、顛覆現有格局…

kubelet 清理資源以緩解磁盤壓力

kubelet 資源清理緩解磁盤壓力指南 在 Kubernetes 集群中&#xff0c;當節點磁盤壓力過大時&#xff0c;可通過以下幾種方式利用 kubelet 清理資源&#xff0c;從而緩解磁盤壓力。 一、鏡像垃圾回收 自動回收 kubelet 內置了鏡像垃圾回收機制&#xff0c;其行為由配置參數控…

SPOJ 11576 TRIP2 - A Famous King’s Trip 【Tarjan+歐拉回路】

自我吐槽 &#xff08;哭 題目傳送門 SPOJ 洛谷 題目大意 讓你在簡單無向圖上刪去2條邊&#xff0c;使該圖聯通并存在歐拉回路 輸出字典序最小的一對邊 思路 考慮到存在歐拉回路的充要條件&#xff0c;即 i n x ≡ 0 ( m o d 2 ) ? i ( 1 ≤ i ≤ n ) in_x\equiv 0 (\m…

藏文情感分析器入門學習實踐

&#x1f3af; 項目目標&#xff1a; 輸入一段藏文短句。自動分析這句話的情感傾向&#xff1a;積極&#xff08;正面&#xff09;/消極&#xff08;負面&#xff09;/中立。 &#x1f50d; 技術原理簡介 情感分析是什么&#xff1f; 情感分析&#xff08;Sentiment Analysi…

雙指針(5)——有效三角形個數

題目&#xff1a; 這道題我們首先可能會想到暴力解法&#xff0c;三個for循環然后進行check&#xff08;&#xff09;。時間復雜度肯定是不允許的。 同時&#xff0c;驗證可以組成三角形的條件是任意兩邊之和大于第三邊&#xff0c;這就意味著我們每組要進行三次比較。但也有捷…

書生實戰營之沐曦專場

一&#xff1a;實驗環境進入和啟動實驗容器(D.run平臺) 1.1首先進入平臺進行注冊 D.run平臺https://console.d.run/ 注冊和登錄環節就跳過了。 1.2 啟動實驗容器--詳細步驟如下 1.2.1選擇容器的名稱、區域、鏡像&#xff08;注意鏡像必須選擇Dlinfer&#xff09; 1.2.2可以選…

內置類型成員變量的初始化詳解

在 C 中&#xff0c;內置類型&#xff08;如 int、float、double、char、指針等&#xff09;的初始化方式與類類型&#xff08;如 std::string、自定義類&#xff09;不同。由于內置類型沒有構造函數&#xff0c;它們的初始化行為由編譯器直接處理。以下是詳細解析&#xff1a;…

對第三方軟件開展安全測評,如何保障其安全使用?

對第三方軟件開展安全測評&#xff0c;能夠精準找出軟件存在的各類安全隱患&#xff0c;進而為軟件的安全使用給予保障。此次會從漏洞發現、風險評估、測試環境等多個方面進行具體說明。 漏洞發現情況 在測評過程中&#xff0c;我們借助專業技術與工具&#xff0c;對第三方軟…