我是使用Node.js的新手,所以请原谅我的无知:)
现在我有一个使用Node / Angular / Express的Web应用程序,以便从服务器上的DLL调用C ++函数,并将结果返回给客户端。但是,我需要该应用程序来支持多个用户。
我正在调用的C ++服务器函数返回基于DLL中定义的全局对象的结果(可以修改)。问题是当有多个客户端访问Web应用程序时,在一个会话中修改全局对象会影响在其他会话中访问的对象。
示例:
我的假设是我应该使用像Socket.IO这样的东西(类似于基础教程http://socket.io/get-started/chat/)。这可以指示用户何时连接到应用,但是它无法使会话独立于用户的角度。
关于如何保持这些会议独立的任何想法?谢谢!
答案 0 :(得分:1)
这不是node.js问题。 node.js可以很好地完成会话(快速会话是使用express和node.js实现会话的一种非常流行的方式)。
这听起来像你有一个DLL,它一次只支持一个用户,这实际上不适合多用户服务器使用。
虽然有非常丑陋的方法可以解决这个问题(比如为每个用户启动缓存和老化的单独子进程,以便每个子进程都有自己独立的DLL加载副本),但实际上你需要的是一个DLL不会将单个用户的状态保留在全局内存中,因此可以代表多个用户使用它。