目标我想实现
我需要实现某种订阅事件方法。确切地说,人们可以锁定表格中的单元格(更多用户可以同时查看同一个表格),当其他人锁定单元格时,需要更新表格。 (因此用户不要多次尝试锁定同一个小区。)至少有45-50个用户。 (有多个表(在有限数量的单独网页上,加载了AJAX - 使用JSON传输,我编码服务器端。)
限制,资源和想法
我有以下想法:
使用频繁运行的CRON作业我可以生成json字符串并将其写入文件 - 客户端可以定期下载json文件,并在发生更改时更新表。
我知道这听起来并不优雅,所以在我实施上述计划之前,我决定四处询问。
感谢您的任何想法/帮助, 巴林特
答案 0 :(得分:1)
使用这组服务器端限制,您可能只想在客户端中使用轮询。客户端将发出ajax调用,要求更新计时器。每次收到ajax调用时,服务器都会向客户端提供最新状态。您必须根据要支持的比例手动调整客户端轮询的频率(更高的比例表示轮询间隔之间的时间更长)以及比例对服务器端限制的影响。
客户端轮询对于带宽使用是不利的,因此您必须量化您可以使用的内容(测量N个客户端以特定间隔轮询使用的带宽并相应地调整轮询频率)。
显然,更多现代技术,例如持续连接的webSockets甚至长轮询,都会为您提供更好的响应能力和更低的带宽使用率,但是由于您的服务器端限制,您似乎已经排除了这些技术。首选解决方案是修复服务器端限制。如果您使用socket.io,它将自动回退到不支持webSockets的客户端的长轮询。