我有一个通过 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。
喵喔喔
TA贡献1735条经验 获得超5个赞
我做了一些研究,显然 setTimeout 或 setInterval 是资源密集型的。最后,我在所需时间选择了 CRON,它在 GET 中进行 HTTP 调用。谢谢!
添加回答
举报
0/150
提交
取消