Node.js作为WebSocket客户端。

3

当服务器上的图像可用时,我需要将其发送给客户端。客户端不是浏览器,而是一些位于NAT(3G网络)后的设备(Linux盒),它将作为文件获取图像,将其写入磁盘,然后在屏幕上显示它(此处没有浏览器)。

我对nodejs和websocket很陌生。

我可以在设备上使用nodejs作为websocket客户端,并在服务器上使用nodejs作为服务器吗?您能提供一个使用nodejs执行websocket客户端的示例吗?

在这种情况下,nodejs能否检测到3G网络中断,然后恢复或重新启动websocket连接?

如果在nodejs服务器向设备上的nodejs(客户端)推送图像时发生连接丢失,会发生什么? 是否有恢复解决方案?

使用Binary Js来处理两个nodejs之间的文件传输怎么样?

我可以使用像ActiveMQ这样的MOM来使用发布/订阅机制实现吗?

1个回答

3

Socket.io是您可能希望在服务器端使用的内容,它有一个客户端模块可用于Node。它处理与服务器的连接。

您可能希望做的是不要通过WebSocket连接推送图像本身。而是通过WebSocket发送“新图片可用”通知消息,在客户端接收到该消息时,向服务器发出常规HTTP GET请求以下载图像。

由于您正在进行普通的HTTP请求,因此如果需要恢复中断的下载,则可以使用Range头。


谢谢。对于范围头,nodejs服务器是否需要做些什么来支持它,还是nodejs会自动知道如何恢复?如果我想要一个Web控制台以实时监视传输并带有重新提交按钮,那么我需要使用哪些模块或框架与nodejs(服务器端和客户端)一起使用? - SemBY
Connect/Express的res.sendfile()(以及static中间件)支持Range - josh3736

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