Web services 物理设备的web服务,使用哪种技术/协议?

Web services 物理设备的web服务,使用哪种技术/协议?,web-services,device,Web Services,Device,(请注意,我是自学初学者) 我正在为要连接到网络中的设备开发一个web服务器。其服务将主要用于本地大型网络,而不是互联网 具体而言,该设备是一个车下检查系统(UVIS),当车辆通过时,该系统会记录视频并对其进行一些处理,然后将其发送到连接的授权本地客户端以查看并发送到数据库(即基于事件的系统) 首先,我搜索了打印机web服务(网络打印机)使用的技术/协议,发现打印机有特定的协议,有些协议甚至特定于某些制造商 我遇到了WS-*堆栈(实际上,我已经使用WS-Discovery为发现IP摄像头做了一个

(请注意,我是自学初学者)

我正在为要连接到网络中的设备开发一个web服务器。其服务将主要用于本地大型网络,而不是互联网

具体而言,该设备是一个车下检查系统(UVIS),当车辆通过时,该系统会记录视频并对其进行一些处理,然后将其发送到连接的授权本地客户端以查看并发送到数据库(即基于事件的系统)

首先,我搜索了打印机web服务(网络打印机)使用的技术/协议,发现打印机有特定的协议,有些协议甚至特定于某些制造商

我遇到了WS-*堆栈(实际上,我已经使用WS-Discovery为发现IP摄像头做了一个简单的实现,并使用了SOAP和Onvif规范定义的一些功能),但我发现这很复杂,不确定是否值得在这个世界上冒险钻研。对此进行一点搜索就可以发现,windows系统主要使用该标准(实际上,Microsoft是这些标准的主要开发人员)

我正在寻找其他现成的技术/协议,这些技术/协议具有发现功能、易于实现、可与其他设备集成、广泛应用且经得起未来考验

有人能给我一些启发吗?


到目前为止,我的计划是使用WS-Discovery(因为它有一个保留的多播地址)来获取Websocket uri,并在此基础上实现我自己的简单协议。我选择websocket而不是普通的socket,因为它有机会与浏览器应用程序一起使用。

如果你正在录制视频,你要么想要实时流媒体(看看高端IP摄像机使用的RTSP协议,可以在gstreamer或vlc中找到实现),或者,如果你是在视频被录制成文件后才开始播放,那么就使用普通的网络上传系统

录制视频的摄像头可能会以RTSP的形式发送数据源,因此您可能只需要连接到该源

现在我会使用网络协议,不管怎样,不需要重新发明轮子。有许多嵌入式系统的Web服务器(开源的civetweb在脑海中是非常简单和有效的)。然后,您将使用已建立的通用web服务创建您的程序。易于构建,几乎每个人都能理解


WS-*协议非常复杂,如果您无法让lib工作,那么在网络的DNS中注册服务器服务并让每个客户机(通过REST API调用)告诉它当前的IP地址可能会轻松得多。从一开始就将每个设备注册到网络的DNS服务器会更容易,但要发现哪些设备可用,只需ping每个设备即可。

我可以在设备上托管本地DNS吗?例如,企业中的网络性质是否存在任何实际限制?(撇开设备本身的限制不谈)我想你可以,但没有意义——DNS是网络上的中央存储库,因此无论他们连接到哪个网络,都应该托管DNS。他们如何获得IP地址?DHCP?静态分配?我假设如果它是静态分配的,就不会有问题,只要让it部门给我一个本地IP。但是如果我假设他们应该在DNS中输入一个条目(编辑:或者也可以给我静态IP),我说的对吗?但是,如果网络使用的网关可能使用公共DNS而不是本地DNS,该怎么办?这会发生吗?在封闭的本地局域网上不能有公共DNS。如果LAN可以访问DNS,那么您可以访问相同的DNS(显然)。这里有很多假设,我无法回答“如果怎样”。