onvif无法搜索到设备

这个问题必须要记录一下。
首先,说一下,上面交了一个任务:开发一个onvif工具。(具体参考界面直接使用某个客户做好的软件)。。。。。。




在一番折腾之后,终于搭建好了环境,编译了gsoap,现在命令行界面上面把基本的搜索,获取能力,设备信息,ip,编码信息等的都弄好(往上面的编译gsoap版本都太老了,比如说2.8.17,2.8.15,我用的是最新的2.8.96版本的,函数接口参数改变了,然后又改的。。。总之不顺利,后来改完之后发现还行,没有令自己失望),然后直接把代码挪到QT中,刚弄进来的时候报了不知道多少错误,后来一一修复能编译,也能搜索设备,获取信息。在等截面都弄差不多的时候,这个时候能在界面上面显示设备信息了,比较高兴。之后过了几天发现电脑太慢了,于是乎,我保存了一下代码,确认无误之后,就关机了(我用的是windows7),在开机之后,重新跑了一下搜索设备这个功能发现搜不到设备了,原因是soap_recv___wsdd__ProbeMatches返回了-1,我是百思不得其解,很是着急与苦恼,然后我又执行了以下命令行的搜索设备(命令行程序是在虚拟机中ubuntu16.04),可以搜到设备。我就更迷惑了,上网百度搜了一大堆,每个人说法不一样,也没找到解决方法,后来想起来了某位大哥说的关掉防火墙,我看了一下我自己系统防火墙一直都没开过,于是乎pass,又想到某位大哥说的搜索不到设备只能是和网络有关系,我自己电脑又能上网,唉,索性试一下,我把自己电脑的本地连接禁止之后,然后再打开,期间点了几下搜索设备,发现有动静了,只不过就是tcp连接失败而已,再后来又接着点了几下搜索设备,发现又能搜到了。真是感谢那位大哥。在此记录一下

我自己做的onvif工具,还是初期阶段(我不是学美工的,所以目前只做功能):
在这里插入图片描述

客户的工具:
在这里插入图片描述

环境搭建参照:https://www.cnblogs.com/lcchuguo/p/4594657.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python onvif搜索IP是通过使用Python编程语言中的onvif库来实现搜索IP地址的功能。Onvif是一种开放的网络视频接口协议,它允许摄像机、录像机和其他设备之间进行互联和通信。 使用Python中的onvif库,可以通过以下步骤来搜索IP地址: 1. 导入必要的库:首先,需要在Python脚本中导入onvif库。 2. 创建onvif客户端:使用onvif库中的Client类来创建一个onvif客户端实例,该实例可以与设备进行通信。 3. 搜索设备:使用onvif客户端实例中的Discovery类来搜索设备。可以调用Discovery类中的方法,如`discover()`,`search()`或`probe()`,来发送搜索请求。 4. 解析响应:从搜索请求的响应中解析出IP地址。响应可能是一个包含设备信息的XML文档,可以使用标准的XML解析库,如`xml.etree.ElementTree`来解析响应。 5. 显示结果:将解析后的IP地址显示出来,可以使用Python的打印语句将结果输出到控制台。 以下是一个简单的示例代码: ```python from onvif import ONVIFDiscovery def search_onvif_ip(): # 创建onvif客户端 client = ONVIFDiscovery() # 搜索设备 response = client.probe() # 解析响应 ip_list = [] for resp in response: doc = xml.etree.ElementTree.fromstring(resp.raw.decode()) for element in doc.iter(): if 'XAddrs' in element.tag: # 提取IP地址 ip_list.append(element.text.split(' ')[0]) # 显示结果 for ip in ip_list: print(ip) search_onvif_ip() ``` 上述代码使用onvif库中的`ONVIFDiscovery`类来创建onvif客户端实例,然后通过调用`probe()`方法发送搜索请求,再通过解析响应提取IP地址,并最后将结果打印到控制台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行走在软件开发路上的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值