ONVIF官网:http://www.onvif.org/
gSOAP安装配置:gSOAP安装配置+使用案例参考+参考链接
操作系统:CentOS7
许振坪的ONVIF专栏:传送门
还有一个博文找不到网址了,如果网友发现可以私信补充。
参考文章:ONVIF协议网络摄像机(IPC)客户端程序开发(7):设备搜索
源码如下 search_c.c:
Linux编译: gcc search_c.c , Windows下编译: gcc search_c.c -lws2_32
Windows下效果和Linux下效果一样。
我Linux是用的虚拟机,所以需要关闭防火墙,不然搜不到 systemctl stop iptables.service 或 service iptables stop
我们也使用 ONVIF Device Test Tool
如何生成ONVIF框架参考:ONVIF协议网络摄像机(IPC)客户端程序开发(6):使用gSOAP生成ONVIF框架代码,原文没有生成soapServer.c,我在评论里面写了如何修改,可以参考。
部分文件下载于:GitHub
参考文章:onvif开发之设备发现功能的实现
我做的相关改动都写在评论区了,server编译通不过,但client是可行的。
client.c源码如下:
Linux下编译: gcc -o client client.c stdsoap2.c soapC.c soapClient.c wsaapi.c duration.c -luuid
没有libuuid库,可自行安装,命令仅供参考 sudo apt-get install uuid-dev
效果如图:
文章参考:Linux下onvif服务端之发现设备
Linux下编译:gcc ipc_server_c.c -o ipc_server
直接运行
现在我们用 ONVIF Device Test Tool,测试一下
ONVIF Device Test Tool 搜索后,服务端就打印了这些信息
ifconfig查看下虚拟机ip地址
同样可以被我们之前写的 客户端 搜索到
文件下载于:GitHub
碰到的问题同样写在评论区,可自行查看。
修改Makefile,GSOAP_ROOT改成自己的soap路径
终端 make 编译。生成 deviceserver
我们直接运行 ./deviceserver
我们同样用 ONVIF Device Test Tool,搜索一下
服务端也有所反应
那么本次的服务端和客户端都测试完毕了。网上资料不多,真的进行的十分困难。
ONVIF官网:http://www.onvif.org/
gSOAP安装配置:gSOAP安装配置+使用案例参考+参考链接
ONVIF协议网络摄像机(IPC)客户端程序开发(7):设备搜索














