用于服务器操作的Node.js客户端进度指示器

我的node.js服务器将执行某些操作上传文件,我想反映在近实时返回到客户端的进度。 此操作大约需要30秒 – 1分钟才能完成。

理想情况下,file upload后,客户端将能够观察文件上服务器操作的进度。

我可以执行定期民意调查,长时间民意测验,或通过networking连接到服务器,但所有这些似乎需要相当复杂的设置为30秒-1分钟的进度指标。

有更好的方法吗?

我会用socket.io来做到这一点。 更好的方法可能是可用的,但是socket.ioconfiguration相对容易。

你在使用Express.js吗? 如果是这样,请确保查看Express的特定部分以了解有关configuration的详细信息。 configuration完成后,您需要执行以下操作:

在服务器上,您将希望发出新的状态

socket.emit('status','aok!'); 

在客户端上,您将希望从服务器侦听新的状态

 socket.on('status', function (msg) { console.log(msg); //Put code here to update the page! }); 

你可能要考虑的是调整心跳时间。 基本上,服务器每隔一段时间就对客户端进行一次ping,以检查它们是否仍然连接。 我相信默认情况下,每25秒发生一次超时,60秒后没有任何反应。 你可能想延长心跳之间的时间,甚至完全禁用它们。 希望这可以帮助! @ bobbyg603