对于一个后端服务器Websocket上的多个用户而言,这是否相互矛盾



我计划在服务器上构建一些后端逻辑以供个人使用。它连接到另一台服务器的Websocket,我设置了代码来处理该套接字的数据。我仍然对使用Websocket的新手很新,所以整个概念对我来说仍然有点陌生。

如果我允许更多的用户使用该后端,并且Websocket具有特定的逻辑运行,是否会与多个用户冲突吗?还是每个用户都有自己的脚本实例运行?

这对我要问什么有意义吗?

如果我允许更多的用户使用该后端,并且Websocket具有特定的逻辑运行,是否会与多个用户冲突吗?还是每个用户都有自己的脚本实例运行?

在node.js中,只有一个脚本的副本(除非您使用类似类似的内容来运行每个核心的脚本副本,否则听起来不像您在问)。因此,如果您与同一家服务器具有多个Websocket连接,则它们都将在具有相同变量等的同一服务器代码中运行。这就是Node.js的工作方式。一个运行的JavaScript引擎和一个代码库都提供许多连接。

node.js是一个事件驱动的系统,因此它将从一个Websocket提供一个传入的事件,然后返回控件回到JavaScript系统,并在事件队列等中使用下一个事件。每当请求处理程序调用一些异步操作并等待响应时,这是从传入的事件队列中提取另一个事件的机会,另一个请求处理程序可以运行。这样,即使只有一个JavaScript运行的一个线程,都可以将多个请求处理程序与所有取得进展的过程交织在一起。

这种体系结构通常意味着您永远不想将请求特定的状态放在全局或模块范围中,因为所有请求处理程序都共享这些范围。相反,状态应处于特定于请求的范围或与该特定用户约束的会话中。

对于一个后端服务器Websockets上的多个用户而言,这是冲突的

不,如果正确编写服务器代码,它不会冲突。是的,如果您错误地编写服务器代码,它将发生冲突。

最新更新