我想要一些关于最好的服务器端代码的建议,它可以处理来自设备的实时数据并根据输入做出决定。一个简单的例子:假设我有一个支持网络的温度计,运行一个轻量级的TCP/IP客户端堆栈。当温度达到30度时,我想让设备与服务器联系,然后让服务器给我发一封电子邮件。我还希望服务器能够发送命令打开加热器。
这里的问题是是否能够从服务器启动TCP消息,并通过各种任意防火墙和路由器,一直到客户端设备。我知道有一些“解决方案”,比如轮询服务器进行更新,或者“长轮询”,在那里我调用服务器,并保持连接打开,以防它有什么要发送的。这里的问题是带宽。消息很少,但很重要,所以标题和握手占流量的98%。
我一直在WebSockets上阅读,这似乎正是我所需要的,特别是在与HTML5配对的时候。
有谁知道可以在云服务器上运行并使用一些标准化方法将数据推送到我的设备上的现成服务器软件包吗?我真的不想在这里重新发明轮子,我不敢相信我是第一个尝试这个的人。我看到一些人用他们自己的专有解决方案做这件事,但我更感兴趣的是购买一站式软件包。
发布于 2012-10-26 07:39:38
WebSocket是将嵌入式设备连接到后端基础设施的有效选择,因为它具有低开销、低延迟以及与Web和一般网络基础设施兼容的特点。有广泛的服务器实现,即Jetty,基于node.js等。
例如,下面是一个将Arduino设备连接到WebSocket服务器和浏览器客户端的演示,在图表中显示实时数据:
这里使用的技术AutobahnPython是一个基于Python/Twisted的WebSocket实现,
技术是开源的,所以你可以推出自己的解决方案。如果您寻找帮助/服务来完成它,请与我联系;)我们还提供了Tavendo WebMQ,一个虚拟设备(VMware,EC2),它添加了特性、管理UI等等,还包括一个REST将数据推送到WebSocket客户端。
免责声明:我是“Autobahn”的作者,并为Tavendo工作。
https://stackoverflow.com/questions/13077283
复制相似问题