为什么要让服务器推送数据以获取通知,例如使用 SingleR 而可以使其成为客户端?
使用 javascript 计时事件,在指定的时间间隔检查最近的更新,只要用户保持连接到服务器,他就可以获得通知。
所以我的问题是为什么客户端已经可以在服务器上做更多的工作?
为什么要让服务器推送数据以获取通知,例如使用 SingleR 而可以使其成为客户端?
使用 javascript 计时事件,在指定的时间间隔检查最近的更新,只要用户保持连接到服务器,他就可以获得通知。
所以我的问题是为什么客户端已经可以在服务器上做更多的工作?
对服务器来说不是更多的工作,而是更少的工作。假设您有 10000 个客户端(对于流行的网站,这个数字可能很容易达到 100K 甚至数百万)每 X 秒轮询一次服务器以了解是否有新数据可供他们使用。即使没有新数据返回给客户端,服务器也必须每 X 秒处理 10000 个请求。这是巨大的开销。
当服务器将更新推送到客户端时,服务器知道更新何时可用,它可以将其仅发送给与此数据相关的客户端。这大大减少了网络流量。
此外,它使客户端代码更简单,但我认为服务器是这里的关键问题。
首先,如果您不使用服务器推送,您将无法获得即时更新,例如您无法进行聊天应用程序,其次,为什么还要打扰客户端去做它不是设计用来做的工作?第三,您将在客户端遇到性能问题,例如@Ash 说服务器比客户端计算机强大得多。