onvif 服务端设备发现在linux上运行不会报错,但是交叉编译运行在嵌入式开发板上是会报错

{
 int loop = 1;
 struct ip_mreq mcast;

 /* 在同一个主机上进行广播设置套接口,
 作用是方便单个开发系统上测试多播IP广播 */ 
  loop = 1; 
 if ((setsockopt(pstSoapEnv->master, SOL_SOCKET, SO_REUSEADDR, (void *) &loop,  sizeof (loop))) == -1)
 {  
  printf("setsockopt SO_REUSEADDR error!\n");  
 }
 
 if(setsockopt(pstSoapEnv->master, IPPROTO_IP, IP_MULTICAST_LOOP, (char *)&loop, sizeof(loop)) < 0)
 {    
  perror("setsockopt IP_MULTICAST_LOOP error!\n");
  return (-1);
 }

 mcast.imr_multiaddr.s_addr = inet_addr("239.255.255.250");
 mcast.imr_interface.s_addr = htonl(INADDR_ANY);
#if 1
 if(setsockopt(pstSoapEnv->master, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&mcast, sizeof(mcast)) < 0)
 {
  printf("setsockopt IP_ADD_MEMBERSHIP error!\n");交叉编译运行在嵌入式开发板上是会报错,会运行到这里
  return -1;
 }
#endif
 return 0;
}

 

 

 

setsockopt(pstSoapEnv-&gt;master, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&amp;mcast, sizeof(mcast)) 
出现这样子的问题可能是开发板的网关出现了问题,设置下网关,我得问题得到了解决(我只能说是我的问题解决了,如果你碰到了这种情况,我不能保证和我的情况是一样的,仅供参考)。

以下附设置网关命令
route add default gw 192.168.0.1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ONVIF是一个全球性的组织,成立于2008年,由安防行业中的主要厂商共同发起,在视频安防领域实现各类产品间的互通和互联,其中,ONVIF协议用于实现不同品牌的安防设备之间的互操作性。 RK是一家专注于提供智能安防解决方案的企业,提供全面的安全技术解决方案,包括网络视频监控、智能硬件等。为了实现视频监控设备之间的互通性,需要根据ONVIF协议编写rk ONVIF服务端代码。 rk ONVIF服务端代码需要具备以下功能: 1. 创建设备发现服务:允许其他ONVIF兼容设备通过设备发现协议找到本设备 2. 创建设备管理服务:允许其他ONVIF兼容设备通过设备管理协议管理本设备 3. 创建媒体服务:允许其他ONVIF兼容设备通过媒体协议获取本设备的视频、音频等流媒体数据 4. 创建事件服务:允许其他ONVIF兼容设备通过事件协议获取本设备发送的各类事件信息 5. 实现ONVIF协议中包括设备信息、媒体配置、视频控制等功能 编写rk ONVIF服务端代码需要具备以下技能: 1. 熟练掌握ONVIF协议 2. 熟悉媒体服务器开发,如FFmpeg 3. 熟练使用C++或其他相关编程语言 4. 熟悉网络编程,包括TCP/IP、HTTP等 5. 必须具备一定的安全技能,如SSL证书管理,权限控制等 在编写rk ONVIF服务端代码的过程中,需要严格按照ONVIF协议进行实现,以确保设备的兼容性和稳定性。同时,还需要充分考虑网络带宽、稳定性等因素,对代码进行优化,保证设备的可靠性和稳定性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一水遮夏211

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

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

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

打赏作者

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

抵扣说明:

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

余额充值