当前位置: 首页 > 面试题库 >

ONVIF-设备发现的开始

微生翼
2023-03-14
问题内容

我打算做一个Java onvif应用程序。我创建了一个新项目并从devicemgmt.wsdl生成了源代码。还从remote
Discovery.wsdl生成了这些类。如何使用这些生成的类在网络中发现设备?谢谢你的帮助。


问题答案:

devicemgmt.wsdl与发现过程无关,ONVIF发现过程基于http://specs.xmlsoap.org/ws/2005/04/discovery,它使用UDP上的SOAP。

如果您使用的是apache-cxf,则可以使用

org.apache.cxf.ws.discovery.WSDiscoveryClient

一个简单的示例代码可能是:

import java.util.List;
import javax.xml.ws.EndpointReference;
import org.apache.cxf.ws.discovery.WSDiscoveryClient;

public class Main 
{
    public static void main(String[] args) 
    {
        WSDiscoveryClient client = new WSDiscoveryClient();
        client.setVersion10(); // use WS-discovery 1.0
        client.setDefaultProbeTimeout(1000); // timeout 1s

        System.out.println("Probe:" + client.getAddress());
        List<EndpointReference> references = client.probe();

        System.out.println("Nb answsers:" + references.size());
        for (EndpointReference ref : references)
        {
            System.out.println(ref.toString());
        }
    }
}


 类似资料:
  • Step3. 设备开发 概述 设备SDK简介 嵌入式设备C SDK Node.js SDK Python SDK(beta) MCU SDK 添加测试设备 Step3. 设备开发 更新时间:2018-03-23 16:47:51 概述 在设备开发阶段,Link Develop为您提供了设备端 SDK,以及测试设备的注册和调试能力。您可以下载 设备端的SDK,在此基础上,将在平台预注册设备的激活凭证

  • 我试图实现一个类来发现网络上的服务。我尝试使用Android的NSD,它确实发现了服务,但它只支持API级别16及以上,我似乎无法检索服务信息中的txtRecord字段(出于某种原因,它返回null)。原来这是一个已知的问题... 所以现在我正在尝试使用jmDNS,它似乎根本找不到服务。这是我的类(我正在使用AndroidAnnotations框架)MDnsHelper: 在我的应用程序中,我调用

  • 最近,我们在Android应用程序中增加了对Chromecast的支持,但在对各种移动设备(手机和平板电脑)的扩展测试中,发现在许多移动设备上,Flipps应用程序都没有发现Chromecast。在相同的设备上,我们使用了最新版本的官方Chromecast SDK演示应用程序进行测试,该应用程序从https://github.com/googlecast/castvideo-Android下载(主

  • 我想查找没有已配对设备的蓝牙设备。但是我的python脚本显示了我配对的设备上的蓝牙设备。如何只过滤打开的设备并忽略电脑中的配对设备,而不删除它们。 这是我的剧本

  • 我已经更新到Xcode 12.3 beta。设备版本是14.2,但Xcode抱怨: 准备设备进行开发时遇到错误。请检查“设备和模拟器”窗口。 无法为开发准备设备 iPhone直接连接到MacBook。我在网上尝试了所有的胡言乱语。但是没有成功,你知道吗? 无法为开发准备设备 请检查到设备的连接,并检查设备和模拟器窗口中的所有错误。

  • 我正在编写一个Android应用程序,它应该可以通过蓝牙发现设备。 我没有得到任何例外,但设备只是没有找到,即使我的windows pc找到他们(并可以找到自己)。 我肯定他们是好的,但我两种方法都试过了。当然我也分别试过了。 下面是我的ListActivity,它搜索设备: 日志显示扫描后MLEDeviceListAdapter:0和扫描后isEmpty():true。 则从不调用该日志(onS