为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 NodeJS 在特定时间执行发射(socket.io)?

如何使用 NodeJS 在特定时间执行发射(socket.io)?

手掌心 2022-07-08 19:27:24
我有一个通过 socket.io 与 NodeJS 服务器通信的 android 应用程序。我需要我的 NodeJS 服务器在特定时间(例如 7 点)向所有客户端发送发射。例子:socket.emit ('example', 'data', 'hour to emit');谢谢你的帮助 !
查看完整描述

2 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

如果您想在您知道的静态时间执行一次,那么只需使用setTimeout并计算服务器当前时间与发出时间之间的差异并将其传递给setTimeout调用。

如果您想在已知的静态时间多次执行此操作,您可以将这些时间存储在一个数组中,然后setInterval以 1 分钟的间隔使用来检查是否是时候执行发射了。

实施完全取决于您的需求。也许您需要将执行时间存储在数据库中,然后制作一个 REST api 来检查它们并配置一个 cronjob 以每分钟调用此 api。


查看完整回答
反对 回复 2022-07-08
?
喵喔喔

TA贡献1735条经验 获得超5个赞

我做了一些研究,显然 setTimeout 或 setInterval 是资源密集型的。最后,我在所需时间选择了 CRON,它在 GET 中进行 HTTP 调用。谢谢!



查看完整回答
反对 回复 2022-07-08
  • 2 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信