>我正在开发一个使用FeathersJS SocketIO客户端连接到FeathersJS服务器的Electron应用程序。它使用 FeathersJS 文档中提供的代码正常工作,但我希望能够连接/断开客户端与服务器的连接,基本上是连接到另一台服务器(使用完全相同的服务)。示例是:我有 2 台 FeathersJS 服务器,具有完全相同的服务但存储了不同的数据,我希望我的 Electron 应用程序能够连接到 1 号服务器,然后断开连接并连接到 2 号服务器。
有什么办法可以做到这一点吗?
最直接的方法可能是初始化两个Feathers应用程序,您可以在Electron应用程序中相应地交换它们。一种稍微有点黑客的方法是替换应用程序(app.io
)上的连接和初始化的客户端服务(service.connection
):
const replaceConnection = (app, socket) => {
app.io = socket;
Object.keys(app.services).forEach(name => {
app.service(name).connection = socket;
});
return app;
}