FeathersJS socketio 客户端断开连接?

FeathersJS socketio client disconnect?

我正在开发一个使用 FeathersJS SocketIO 客户端连接到 FeathersJS 服务器的 Electron 应用程序。它使用 FeathersJS 文档中提供的代码可以正常工作,但我希望能够从服务器 connect/disconnect 客户端,基本上连接到另一台服务器(具有完全相同的服务)。示例是:我有 2 个 FeathersJS 服务器,它们的服务完全相同,但存储的数据不同,我希望我的 Electron 应用程序能够连接到 1 号服务器,然后断开连接并连接到 2 号服务器。

有什么办法吗?

最直接的方法可能是初始化两个 Feathers 应用程序,您可以在 Electron 应用程序中相应地交换它们。一种稍微更 hacky 的方法是替换应用程序上的连接 (app.io) 和 initialized client services (service.connection):

const replaceConnection = (app, socket) => {
  app.io = socket;

  Object.keys(app.services).forEach(name => {
    app.service(name).connection = socket;
  });

  return app;
}