我遇到这种情况,我需要将数据存储在数据库中并仅向特定套接字发出事件。这可以通过两种方式完成:
从客户端发出一个事件,在服务器端监听该事件,存储数据并将事件发送到我们想要的套接字。
向服务器发送 http 请求,我在服务器上存储数据并向套接字发出事件。
我想知道这些方法中哪一种更有效,以及是否有比这两种更好的用例解决方案。
最佳答案
我想说,如果您已经在使用 SocketIO,那么选择选项 1(从客户端发出事件)可能是个好主意。我不确定您的应用程序是如何构造的,但我认为当您首先使用 SocketIO 时,无论如何您都会通过那里进行所有服务器端通信。
HTTP 请求对它们来说有明显的开销,因为它们至少将 header 发送到服务器。
但是当你开始long polling您始终需要确保它不会在服务器上造成巨大的负载。现在我看到您的主题中有 node.js
,我希望您使用的是它。如果是这种情况,那么这不会产生任何问题,因为 node.js
可以很好地处理这些请求,几乎不占用系统资源。
免责声明:我不是原始技术细节方面的专家,我只是一个有意见的开发人员。我不介意投票,但请让我知道原因,以便我们都能学习。
关于javascript - Node.js : SocketIO vs http request performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24136693/