如何在嵌入式设备服务器上实现WebSockets?

5
我正在与一家电子设备制造商合作,将基于局域网的控制系统嵌入产品中。这样可以通过Web浏览器提供系统配置/控制界面,使客户永远不需要安装软件。我们可以通过嵌入模块发送和接收串行数据与设备通信。由于设备也可以从前面板UI进行控制,因此保持远程Web界面与非常低延迟的同步会带来挑战。似乎websockets或某种推送是我们处理服务器到客户端实时事件所需的。

我正在使用Lantronix Mathport AR嵌入式设备服务器。该单元箱默认情况下将提供任何自定义HTML和Java Servlets/Applets。如果需要更多灵活性,我们可以选择安装轻量级Linux发行版。由于该设备未运行标准Apache,我不确定如何实现任何服务器端应用程序。我相信它正在使用Boa。

有人能指导我如何做吗?

3个回答

3

一些常规信息...WebSocket协议(草案规范在此)是建立在TCP之上的简单层。这意味着,如果您已经有一个针对您的平台的TCP服务器,则实现WebSocket只是几个小时的事情。该协议指定了握手和发送数据帧的两种方式。

我强烈建议您首先阅读39页的规范。


2
正如Tihauan所提到的,首先要阅读规范,还需注意目前仍有一些变化正在进行中,尽管WebSockets比1年前更加稳定。对我而言,关键点是需要WebSocket数据完全采用UTF-8文本格式,这非常适合基于JSON的消息定义。
我们的系统采用嵌入式Linux,因此我们添加并使用了以下库:
"libwebsockets" 来自: http://git.warmcat.com/cgi-bin/cgit/libwebsockets/ "jansson" 来自: http://www.digip.org/jansson/ 借助上述支持库,我们创建了一个内部轻量级的 "客户端/服务器",使我们的其他软件模块能够注册特定、适用的Websocket消息,并根据需要做出响应。效果非常好。
祝你好运,最好的问候。

请问您能否分享一些客户端应用程序的示例代码? - AL̲̳I

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接