![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Go
文章平均质量分 77
Go开发相关总结
昵称系统有问题
知识成就梦想。
展开
-
使用Go快速开发TCP公共服务
之前使用的公共TCP服务无法使用了,想了一下整个实现原理不是很复杂,就利用Go快速开发了一个,利用公网服务器可以快速部署起来。如上为demo演示,作为小工具够用了,实际项目可以做更多的扩展,比如多用户展示及使用,历史测试数据存储及展示,端口可配置,hex数据收发展示,通信方式扩展等等。原创 2023-12-06 19:53:52 · 279 阅读 · 0 评论 -
浏览器播放rtsp视频流:4、jsmpeg+go实现局域网下的rtsp视频流web端播放
之前的rtsp转webrtc的方案存在如下缺陷:1.只支持h264;2.受限于webrtc的理解难度以及搭建turn/stun的p2p服务等问题,对于局域网下的业务需求来说有些杀猪用牛刀的意思;3.ios不支持webrtc。基于以上原因,我又找到了一些其它的方案进行了测试,目前看jsmpeg的方案更加适合我们的需求,而且普通压缩大小为135kb,gzip方式压缩后仅仅42kb,在嵌入式场景下也可以使用。原创 2022-10-31 20:38:12 · 3086 阅读 · 5 评论 -
Go实战学习笔记-1.3流程控制
这里还是再总结一下流程控制,和其它语言相比做了一些优化,比如相比c增加了迭代器类型的for循环,switch针对c中容易出问题的地方做了一些修改,避免出现缺少break时存在的常见问题,此外,和Java类似也存在跳出循环和多层嵌套的方法,C中容易造成使用不当的goto也同样支持,在解决比较麻烦的go错误处理时goto有奇效,但基本上还是不太建议使用。......原创 2022-08-29 20:35:43 · 351 阅读 · 0 评论 -
Go实战学习笔记-1.2基础语法:变量、常量、包、指针等
这里总结一下Go中变量、常量、包、函数、指针、输入输出及基础数据类型转换的基础用法,便于回顾。虽然官方不建议使用其它语言类比着学习Go,但是学习语言的过程中抽象通用的部分学习起来会快一些。常量、变量、指针可以当成简化的C来学习,基本上快捷声明和赋值的方式比较新颖,但是也更加简单了,看到指针也不会那么头疼害怕内存泄漏了,包的概念和Java、python等包的概念和使用基本类似,只是为了区分标准库的包和非标的包引入了weburl方式的包导入,这点也不是很难理解和使用。原创 2022-08-25 10:11:16 · 499 阅读 · 0 评论 -
Go实战学习笔记-1.1Go安装、介绍及Go Playground介绍和运行hello world
我按照Go官方的A tour of Go()刷了一遍,之后写了一些用于Windows、OpenWrt以及摄像头相关的一些应用,但是总感觉少了一些什么,所以找了一些书籍(原创 2022-08-10 17:45:52 · 629 阅读 · 0 评论 -
Go书籍大全-从初级到高级以及Web开发
我使用Go开发已经有一年左右时间了,由于有C开发的经验,从学习到上手大概花费了一周左右的时间,目前主要是利用GoFrame和Gin框架开发一些网关设备上的Web后端以及利用Go写一些流媒体相关的客户端和服务端,但是总感觉少了点什么,个人感觉可能是看的书比较少,对于Go开发掌握的不够,所以这里找了一些书籍,打算看书做更多的项目来实践一下。总的来说,Go的开发效率是很高的,很多时候给我的感觉就像在写简化的C,静态链接的方式也避免了编译时大量找依赖库的麻烦。...翻译 2022-07-28 20:37:30 · 2013 阅读 · 0 评论 -
cgo+gSoap+onvif学习总结:9、go和c进行socket通信进行onvif协议处理
cgo目前看仍然存在一些问题,虽然我在amd64和x86上使用正常了,1.18版本没有出现内存分割违例问题,但是arm64上运行时仍存在分割违例问题,所以打算使用一个比较稳妥的方式进行c和go的通信,那就是socket通信。至于c++方式实现的话可以使用grpc+pb的方式来和go通信,或者数据复杂一些也可以使用mongos和nanomsg来进行,这些可以留着扩展研究,由兴趣的可以尝试一下,这些处理方式比起原始的socket虽然更复杂但更具扩展性,可以结合项目实际使用情况来定。我这里由于是c代码,grpc方原创 2022-07-04 09:53:26 · 892 阅读 · 0 评论 -
cgo+gSoap+onvif学习总结:8、arm平台交叉编译运行及常见问题总结
此前我们都是将相关cgo程序代码在Windows上运行的,所以基本是x86或者amd64,在wsl上编译c或者go都是比较简单容易的,没有太大的问题,但是当我们需要将cgo程序应用于arm平台时(不管是Android、openwrt、纯linux或者现在的macOS很多都使用arm架构芯片了),就需要关注到交叉编译的问题,所以这里以arm-openwrt为例,总结使用gSoap的cgo程序如何在交叉编译之后正常运行于arm平台,一些常见问题我们是如何解决的,这对于使用gSoap+cgo框架的onvif协议程原创 2022-06-24 16:13:22 · 684 阅读 · 0 评论 -
浏览器播放rtsp视频流:3、rtsp转webrtc播放
浏览器播放rtsp视频流:3、rtsp转webrtc播放文章目录浏览器播放rtsp视频流:3、rtsp转webrtc播放1. 前言2. rtsp转webRTC3. 初步测试结果4. 结合我们之前的onvif+gSoap+cgo的方案做修改4.1 go后端修改4.2 前端修改4.3 项目结构和编译运行4.4 结果展示5. 最后1. 前言前面我们测试了rtsp转hls方式,发现延迟比较大,不太适合我们的使用需求。接下来我们试一下webrtc的方式看下使用情况。综合考虑下来,我们最好能找到一个go作为后原创 2022-03-24 18:43:44 · 14162 阅读 · 33 评论 -
浏览器播放rtsp视频流:2、ffmpeg转hls播放(go后端利用hls做简单视频直播)
浏览器播放rtsp视频流:2、ffmpeg转hls播放(go后端利用hls做简单视频直播)文章目录浏览器播放rtsp视频流:2、ffmpeg转hls播放(go后端利用hls做简单视频直播)1. 前言2. wsl安装ffmpeg并转换rtsp为hls3. 前后端示例代码3.1 后端go代码3.2 前端代码4. 结果及评估1. 前言上一次我们找到一些开源方案,目前我们先测试一下ffmpeg转hls播放的方式,看下延迟情况及兼容性情况,主要测试Windows、Linux和macOS中使用谷歌浏览器播放的情原创 2022-03-17 09:52:47 · 1238 阅读 · 2 评论 -
go+gSoap+onvif学习总结:7、进行镜头调焦、聚焦和预置点的增删改查
cgo+gSoap+onvif学习总结:7、进行镜头调焦、聚焦和预置点的增删改查文章目录cgo+gSoap+onvif学习总结:7、进行镜头调焦、聚焦和预置点的增删改查1. 前言2. gSoap生成c代码框架3. 完成c代码实例并测试3.1 c代码3.2 cmake3.3 结果展示4. 完成cgo代码示例并测试4.1 cgo代码及编译4.4 结果展示5. 整体项目结构6. 最后1. 前言镜头调焦和聚焦之前我们说过,一个使用的ptz能力,一个使用的imaging能力,而预置点使用的还是使用的ptz能力原创 2022-03-15 08:52:51 · 6421 阅读 · 9 评论 -
cgo+gSoap+onvif学习总结:6、进行PTZ控制
cgo+gSoap+onvif学习总结:6、进行PTZ控制文章目录cgo+gSoap+onvif学习总结:6、进行PTZ控制1. 前言2. gSoap生成c代码框架3. 实现c代码实例并运行3.1 c代码3.2 cmake3.3 运行结果4. 实现cgo代码示例并运行4.1 相关代码4.2 cmake4.3 运行结果5. 整体项目结构6. 最后1. 前言接下来我们进行简单的ptz控制,进行一些基础的上、下、左、右、左上、左下、右上、右下、停止等的控制,ptz的模式我们仍使用连续移动方式,对于ptz的原创 2022-03-14 08:48:24 · 1410 阅读 · 4 评论 -
cgo+gSoap+onvif学习总结:5、获取profileToken、rtsp流地址、快照地址及cgo程序signal SIGSEGV: segmentation violation解决方法
cgo+gSoap+onvif学习总结:5、获取profileToken、rtsp流地址、快照地址及cgo偶发signal SIGSEGV: segmentation violation分割违例解决方法文章目录cgo+gSoap+onvif学习总结:5、获取profileToken、rtsp流地址、快照地址及cgo偶发signal SIGSEGV: segmentation violation分割违例解决方法1. 前言2. gSoap生成c/c++代码框架3. 实现c代码并运行测试3.1 c代码3.2原创 2022-03-10 18:04:17 · 5368 阅读 · 2 评论 -
cgo+gSoap+onvif学习总结:4、实现设备鉴权并获取设备信息
cgo+gSoap+onvif学习总结:4、实现设备鉴权并获取设备信息文章目录cgo+gSoap+onvif学习总结:4、实现设备鉴权并获取设备信息1. 前言2. gSoap生成满足鉴权和获取设备信息的c代码框架2.1 生成c框架代码2.2 可能的错误及解决方法2.2.1 问题1:wsa5.h报错2.2.2 问题2:soap_serialize_xsd__dateTime等未定义2.2.3 问题3:duration.c编译报错3. 实现c代码实例并测试运行3.1 c代码如下3.2 注意事项3.3 cma原创 2022-03-09 18:01:13 · 1805 阅读 · 2 评论 -
cgo+gSoap+onvif学习总结:3、使用gSoap生成onvif协议代码实现设备搜索并使用cgo进行交互
cgo+gSoap+onvif学习总结:3、使用gSoap生成onvif协议代码实现设备搜索并使用cgo进行交互文章目录cgo+gSoap+onvif学习总结:3、使用gSoap生成onvif协议代码实现设备搜索并使用cgo进行交互1. 前言2. gSoap生成c/c++代码框架2.1 准备相关文件2.2 创建项目并生成头文件和源文件2.3 生成设备发现客户端C代码实例及测试2.3.1 资料阅读2.3.2 生成服务发现客户端C代码框架3. 实现c代码实例并运行测试3.1 c代码3.2 项目结构3.3 C原创 2022-03-08 18:09:31 · 604 阅读 · 0 评论 -
cgo+gSoap+onvif学习总结:2、wsl编译安装gSoap
cgo+gSoap+onvif学习总结:2、wsl编译安装gSoap文章目录cgo+gSoap+onvif学习总结:2、wsl编译安装gSoap1. 前言2. gSoap编译安装(wsl环境编译安装)3. 最后1. 前言结合官网安装教程,wsl上编译安装方式我们使用源码编译安装即可,对于编译过程中需要的一些依赖库和工具根据编译信息下载安装即可,下面是我在wsl-Ubuntu20.04下编译安装的简要过程。2. gSoap编译安装(wsl环境编译安装)安装gSoap,可以参考这里:https://原创 2022-03-07 18:11:24 · 467 阅读 · 0 评论 -
cgo+gSoap+onvif学习总结:1、方案初衷、资料收集及cgo实现helloworld
cgo+gSoap+onvif学习总结:1、方案初衷、资料收集及cgo实现helloworld文章目录cgo+gSoap+onvif学习总结:1、方案初衷、资料收集及cgo实现helloworld1. 前言2. 资料收集3. cgo hello world4. 最后1. 前言在尝试使用过纯go的方案和python方案实现onvif协议用来控制摄像头后,发现了一些问题:1、纯Go的开源方案受到soap协议繁琐的影响,部分摄像头不兼容,比如使用海康大华相机ptz控制正常,但是宇视相机无法正常ptz,抓包原创 2022-03-04 18:08:52 · 1103 阅读 · 0 评论 -
go-uci库使用示例及注意事项
go-uci库使用示例及注意事项文章目录go-uci库使用示例及注意事项1. 前言2. 示例3. 注意点1. 前言之前介绍过openwrt的uci相关内容,这里就go uci库使用及注意事项做下简单总结,注意点可能会引起一些不易发觉的bug。2. 示例使用的go-uci库:https://github.com/digineo/go-uciimport "github.com/digineo/go-uci"func main() { //强制读取,否则由于内存中缓存的内容导致配置文件原创 2021-09-26 17:38:18 · 1157 阅读 · 0 评论 -
Golang学习--TOML配置处理
Golang学习–TOML配置处理文章目录Golang学习--TOML配置处理配置工具的选择toml的使用配置的单例模式配置的更新POSIX信号在POSIX.1-1990标准中定义的信号列表:在SUSv2和POSIX.1-2001标准中的信号列表:参考资料配置工具的选择但我们又遇到了一个问题,一个项目通常是有很多配置的,比如PHP的php.ini文件、Nginx的server.conf文件,那么Golang的项目又适合使用怎样的配置文件呢?其实现在我们有很多选择,比如 JSON文件、INI文件、YA转载 2021-09-23 13:27:11 · 2350 阅读 · 0 评论 -
go web ssh推荐使用
go web ssh推荐使用文章目录go web ssh推荐使用1. 前言2. 项目地址3. 简单修改4. 交叉编译5. 结果展示1. 前言一般ssh的登录使用需要ssh客户端进行登录,比如xshell、putty等,之前我们也推荐过九款:https://blog.csdn.net/weixin_39510813/article/details/118722265。目前我们有一个需求是在web上登录设备的ssh,一番搜索后找到一个比较小巧合适的,并且做了一点简单的修改,基于go+vue的,最后可以打原创 2021-09-18 14:16:16 · 1609 阅读 · 0 评论 -
Go操作supervisor xml rpc接口及注意事项
Go操作supervisor xml rpc接口及注意事项文章目录Go操作supervisor xml rpc接口及注意事项1. 前言2. 管理web3. go处理库4. 实时日志处理代码片段1. 前言之前提到过目前我们的进程都是通过supervisor(http://supervisord.org/)这样一个进程管理软件进行管理的,也专门做过专题翻译过supervisor的一些内容:https://blog.csdn.net/weixin_39510813/category_11128455.ht原创 2021-09-18 13:35:24 · 665 阅读 · 0 评论 -
Go-Linux获取网卡上下行速率
Go-Linux获取网卡上下行速率文章目录Go-Linux获取网卡上下行速率1. 前言2. 实现思路2. 代码1. 前言一般会有这么个小工具,可以显示电脑的cpu、内存、温度以及网络上下行流量速率,之前我们已经实现了go-linux查看cpu占用率、cpu温度、内存占用及磁盘占用率的方法,这里再总结一下计算网卡上下行速率的方法。2. 实现思路通过cat /proc/net/dev可以查看Linux上网络设备的流量信息,然后我们通过计算每秒的间隔值可以大致将其作为网络设备的流量速率。2. 代码原创 2021-09-18 13:33:37 · 1682 阅读 · 0 评论 -
openwrt利用arp获取局域网设备IP
openwrt利用arp获取局域网设备IP文章目录openwrt利用arp获取局域网设备IP1. 前言2. ARP概念3. arp局域网搜索设备实现思路和代码1. 前言目前我们通过arp协议搜索局域网设备,根据局域网设备地址判断子设备是否在线(子设备ip为静态ip地址),所以这里简单总结一下arp的使用。2. ARP概念以下内容来自维基百科:ARP:地址解析协议(英语:Address Resolution Protocol,缩写:ARP)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协原创 2021-09-10 18:01:40 · 3884 阅读 · 0 评论 -
Go-OpenWrt获取wan口ip、dns、网关ip
Go-OpenWrt获取wan口ip、dns、网关ip文章目录Go-OpenWrt获取wan口ip、dns、网关ip1. 前言2. 解决方案思路3. 代码1. 前言一般来说,Openwrt可以配置多个wan口和多个lan口,这里获取的wan口的ip、dns等信息是基于知道wan口名称的前提下使用ifstatus命令来获取解析结果的。2. 解决方案思路通过uci命令获取相关网络接口名称,然后利用ifstatus查看对应接口的网络信息后获取,当然也可以直接通过uci接口获取:root@OpenWr原创 2021-09-09 18:05:48 · 4969 阅读 · 0 评论 -
golang执行shell指令时报错exit 1
golang执行shell指令时报错exit 1文章目录golang执行shell指令时报错exit 11、前言2. 代码3. 区别1、前言ok,前面我们说过一个go执行shell指令的最佳方式(https://blog.csdn.net/weixin_39510813/article/details/115556388),今天这里再介绍一种方式,当你遇到执行shell报错找不到原因时可以尝试一下,主要来自:https://stackoverflow.com/questions/18159704/h原创 2021-09-08 13:43:56 · 1616 阅读 · 0 评论 -
Go类型转换-int\float\string之间相互转换
Go类型转换-int\float\string之间相互转换文章目录Go类型转换-int\float\string之间相互转换增加了保留两位小数的float转string.#string到int int,err := strconv.Atoi(string) #string到int64 int64, err := strconv.ParseInt(string, 10, 64) //第二个参数为基数(2~36),//第三个参数位大小表示期望转换的结果类型,其值可以为0, 8, 16转载 2021-08-31 17:42:40 · 536 阅读 · 0 评论 -
go读取Linux下cpu占用率、cpu温度、内存占用率及磁盘占用率
go读取Linux下cpu占用率、cpu温度、内存占用率及磁盘占用率文章目录go读取Linux下cpu占用率、cpu温度、内存占用率及磁盘占用率1. 前言2. 代码3. 测试结果4. 编译1. 前言后续会利用相关界面库来开发一个跨平台的小工具,这里的内容是该小工具的一部分,但是也挺常用的。2. 代码package mainimport ( "bytes" "fmt" "os/exec" "strconv" "strings" "time" "github.com/shirou原创 2021-08-27 18:01:12 · 2550 阅读 · 0 评论 -
postman测试gf框架登录及相关token接口
postman测试gf框架登录及相关token接口文章目录postman测试gf框架登录及相关token接口登录时一般会通过token方式进行登录验证,各个子页面也通过token来进行超时判断,因此postman测试接口时可能需要设置用户验证token才能测试对应有登录权限管理的接口:然后根据:https://goframe.org/pages/viewpage.action?pageId=6357013当我们不设置token时测试接口则会报错,比如401登录超时:根据gf的说明我们需要He原创 2021-08-24 18:20:04 · 287 阅读 · 0 评论 -
gf框架使用sqlite3数据库后交叉编译cgo适配arm64-linux
gf框架使用sqlite3数据库后交叉编译cgo适配arm64-linux文章目录gf框架使用sqlite3数据库后交叉编译cgo适配arm64-linux1. 前言2. 解决方案3. wsl+Windows交叉编译cgo工程3.1 简述cgo程序交叉编译3.2 安装交叉编译工具链3.3 交叉编译包含cgo依赖的go项目3.4 交叉编译依赖sqlite3的gf工程4. 最后1. 前言之前已经说过我们将使用openwrt+nginx+go+sqlite3的方式在openwrt上开发适配业务的web,而原创 2021-08-24 18:05:44 · 1231 阅读 · 0 评论 -
go语言etcd和grpc兼容问题
go语言etcd和grpc兼容问题之前在这里说明了相关解决方法:https://blog.csdn.net/weixin_39510813/article/details/118308181但在最近的使用过程中意识到etcd已经出了v3版本,这个v3的接口是和最新的grpc兼容的,所以不需要再像上面这么麻烦了,直接使用etcd/client/v3即可:import ( "go.etcd.io/etcd/client/v3")然后go mod时直接go mod init以及go mod ti原创 2021-08-20 10:27:12 · 966 阅读 · 0 评论 -
Go语言实现Onvif客户端:11、查看网络接口规范wsdl及变焦、聚焦实现
Go语言实现Onvif客户端:11、查看网络接口规范wsdl及变焦、聚焦实现文章目录Go语言实现Onvif客户端:11、查看网络接口规范wsdl及变焦、聚焦实现1. 前言2. 变焦和聚焦基本概念3. 如何搜索能力接口规范wsdl以及onvif哪个能力实现变焦和聚焦4. 部分go实现代码5. 注意点6. 结果1. 前言摄像头作为机器视觉的硬件组成,还是有很多可以挖掘的地方,找好一个细分领域一直深挖总会挖到意想不到的东西的。我们这次研究一下如何使用onvif进行摄像头的变焦(zoom)、聚焦(focus原创 2021-08-11 18:04:14 · 1663 阅读 · 7 评论 -
解决:cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
解决:cc1.exe: sorry, unimplemented: 64-bit mode not compiled in在win下用Go语言的cgo时(比如下面场景)我们会用到的GCC编译器,Win下我们一般用MinGW。Golang连接Oracle数据库;win下 golang 跨平台编译MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C++、ADA及Fortran编译器,相比Cygwin而言,体积要小很多,使用较为方便。MinGW提供了一套完整转载 2021-08-11 15:42:05 · 2155 阅读 · 0 评论 -
GoFrame系列:6、Swagger使用总结
GoFrame系列:6、Swagger使用总结文章目录GoFrame系列:6、Swagger使用总结1. swagger简述2. GF框架使用swagger流程3. 示例3.1 GET示例3.2 POST示例3.3 其它4. 最后1. swagger简述swagger接口文档主要用于前后端的接口定义。Golang的swagger文档通过注释的形式编写到api层的代码中,使得接口文档可以随着代码一起维护,降低代码与文档不一致的风险,并通过gf-cli工具生成:swagger API文档生成。2. G原创 2021-08-06 18:03:06 · 2026 阅读 · 0 评论 -
Go语言实现Onvif客户端:9、预置点删改查及跳转
Go语言实现Onvif客户端:9、预置点删改查及跳转文章目录Go语言实现Onvif客户端:9、预置点删改查及跳转1、前言2、代码3、结果1、前言我们可以根据摄像头的所拍的位置设置预置点、巡航点等,相当于记录部分位置,然后让摄像头快速移动到记忆的位置或者说固定在这些位置进行移动巡逻,这也是摄像头作为AI的眼睛的一大作用,模拟人脑的部分功能记住某些位置,然后可以机械重复的执行。我们这里针对目前的情况对预置点进行查询、修改、删除以及跳转到某个预置点。2、代码预置点的相关操作除了需要我们之前设置的Pro原创 2021-04-07 09:12:36 · 645 阅读 · 3 评论 -
Go语言实现Onvif客户端:8、摄像头PTZ控制(云台控制)
Go语言实现Onvif客户端:8、摄像头PTZ控制(云台控制)文章目录Go语言实现Onvif客户端:8、摄像头PTZ控制(云台控制)1、PTZ简单再介绍2、代码3、结果1、PTZ简单再介绍之前学习Onvif协议的时候我们已经对PTZ有了基本的了解,这里当我们实现PTZ控制的时候再简单做一下介绍说明,主要针对我们这里实现的PTZ的说明。PTZ:Pan/Tilt/Zoom,对于枪机的话基本就是固定一个位置或者水平移动,但是球机除了水平移动外,还可以旋转(没有跳跃),此外摄像头还有变焦的功能,目前我们暂原创 2021-04-02 18:15:12 · 2423 阅读 · 4 评论 -
Go语言实现Onvif客户端:7、获取摄像头快照
Go语言实现Onvif客户端:7、获取摄像头快照文章目录Go语言实现Onvif客户端:7、获取摄像头快照1、代码2、结果3、查看1、代码摄像头对该时刻可以进行快照抓拍,抓拍结果可以以url地址的形式提供,在浏览器上可以直接查看抓拍的结果,Onvif协议也支持该服务。/** * @Description: 获取快照的url信息,可以直接在浏览器打开 * @time: 2021-04-02 09:56:52 * @receiver client * @return returnInfo */原创 2021-04-02 17:59:50 · 1396 阅读 · 0 评论 -
Go语言实现Onvif客户端:6、获取rtsp流地址
Go语言实现Onvif客户端:6、获取rtsp流地址文章目录Go语言实现Onvif客户端:6、获取rtsp流地址1、代码2、结果:3、查看1、代码获取并选择Profile token后获取rtsp流地址也是调用接口即可:/** * @Description: 获取rtsp流媒体信息 * @time: 2021-03-30 11:22:06 * @receiver client * @return returnInfo:结果Code码和Info信息,Code码为0则成功,否则失败,通过获取I原创 2021-04-01 18:41:39 · 2240 阅读 · 16 评论 -
Go语言实现Onvif客户端:5、获取并设置Profile token
Go语言实现Onvif客户端:5、获取并设置Profile token文章目录Go语言实现Onvif客户端:5、获取并设置Profile token1、实现思路2、代码(1)、获取的Profile token的xml信息(2)、提供外部接口获取所有的Profile token(3)、选择一个Profile token对于不同设备的控制或者流数据获取都依赖于Profile,而Profile通过token来控制,所以在进行rtsp流数据获取或、PTZ云台控制、抓拍、预置点等操作时需要先获取并设置Profi原创 2021-03-31 18:27:21 · 1683 阅读 · 0 评论 -
Go语言实现Onvif客户端:4、配置网络信息
Go语言实现Onvif客户端:4、配置网络信息文章目录Go语言实现Onvif客户端:4、配置网络信息1、思路2、代码上一节获取到网络接口token后,就可进行一些网络配置了,这里我们暂时只实现进行ip地址的配置接口和封装。1、思路确认我们配置网络时需要传递的参数,对这些参数的传递进行封装对参数判断提供外部接口,内部接口调用相关接口进行请求发送和回复解析2、代码网络信息配置结构体:type NetWorkConfigInfo struct { //是否进行IPV4网络配置 Enabl原创 2021-03-30 18:27:05 · 797 阅读 · 0 评论 -
Go语言实现Onvif客户端-3、获取网络接口token
Go语言实现Onvif客户端:3、获取网络接口token文章目录Go语言实现Onvif客户端:3、获取网络接口token1、思路2、代码上两节已经通过1、搜索设备、2、获取设备能力、3、鉴权、4、设备信息匹配几步找到了我们的设备并且获取了一部分操作设备的能力,接下来我们实现获取网络接口token的功能,为接下来对设备网络信息配置做准备。1、思路发送请求获取网络接口的token解析回复的xml数据获取对应网络接口token2、代码/** * @Description: 从xml中读取网络原创 2021-03-29 18:35:03 · 962 阅读 · 4 评论