Websocket 套接字io-每X秒发射一个事件,还是在POST事件后发射?

Websocket 套接字io-每X秒发射一个事件,还是在POST事件后发射?,websocket,socket.io,Websocket,Socket.io,我正在使用socket io,我想知道什么更好 每X秒发出一个事件,以保持数据库始终更新,或在事件(例如POST事件)后发出事件,因此效率更高 我相信更新X秒应该更容易,也许有更好的可扩展性,但不知道这是否是正确的方法 编辑-1:提供更多上下文。该应用程序适用于会计团队。他们基本上希望将excel表格转换为应用程序。他们有很多数据,所以我不知道每X秒发出一个事件是否是个好主意 谢谢。没有“正确”的方法。这完全取决于客户端的需要和服务器的功能。如果客户机需要更即时地保持最新,那么只要服务器有新数据

我正在使用socket io,我想知道什么更好

每X秒发出一个事件,以保持数据库始终更新,或在事件(例如POST事件)后发出事件,因此效率更高

我相信更新X秒应该更容易,也许有更好的可扩展性,但不知道这是否是正确的方法

编辑-1:提供更多上下文。该应用程序适用于会计团队。他们基本上希望将excel表格转换为应用程序。他们有很多数据,所以我不知道每X秒发出一个事件是否是个好主意

谢谢。

没有“正确”的方法。这完全取决于客户端的需要和服务器的功能。如果客户机需要更即时地保持最新,那么只要服务器有新数据,就从服务器向客户机发送数据。如果客户端只需要每隔一段时间更新一次,那么只需每隔一段时间向其发送数据。没有“正确”的方法。这取决于你的申请

只有当数据实际发生了变化并且客户机真正关心某些事情发生了变化时,才向客户机发送数据总是更有效的。因此,如果数据实际上没有经常更改,那么每隔几秒钟发送一次客户端更新是愚蠢的。如果您有办法知道服务器上的数据何时更改,那么请使用该事件来知道何时向客户端发送数据,即使这样,也不要发送的频率超过客户端实际需要知道的频率

让服务器不做比客户机实际需要的更多的工作总是更有效的。缓存和跟踪每个客户机上次发送的内容有时也可以为服务器节省大量工作

关于这一问题的任何进一步建议都需要更多地了解应用程序的需求,以及这些特定数据如何适应这些需求,以及相关数据实际更改的频率

关于这一主题的总结:

  • 向客户端发送数据的频率不超过其需要的频率
  • 将自上次更改以来未更改的数据发送到客户端对服务器来说效率低下,并且会消耗带宽
  • 只有您可以决定客户端需要更新的频率(取决于您的应用程序)
  • 只有您可以测试每次数据更改时向每个客户端发送数据对可伸缩性的影响
  • 服务器端缓存和跟踪哪些客户机已经拥有哪些数据可以帮助您避免将数据发送到它已经拥有的客户机
  • 服务器端的可伸缩性可能与同时连接的客户端数量以及发送更改数据的频率有很大关系

我的应用程序是关于会计数据的。例如,实时保存他们工作的公司列表。他们是一个小型的会计团队,所以我认为服务器负载不会是一个问题problem@LucasGomes-这回答了你的问题吗?如果是,请通过单击答案左侧的复选标记向社区指出。这也将为您在这里遵循正确的程序赢得一些声誉积分。如果没有,请说明尚未回答的问题。