【问题标题】:access methods on one socketio namespace from a different one从不同的一个 socketio 命名空间访问方法
【发布时间】:2020-11-13 23:42:07
【问题描述】:

我有一个烧瓶应用程序,它使用 flask-socketio 和 python-socketio 来促进云中的 socketio 服务器和通过硬件设备的显示设备之间的通信。

我有一个 display 命名空间,它公开面向显示的事件,并且还使用一个单独的 client 类来连接云中的服务器并与之对话。这按设计很好,但现在我想从不同的命名空间触发我的 client 类中的连接方法。到目前为止,我还不能让它工作。

我尝试将 display 命名空间类添加到烧瓶上下文中,然后将其传递给 socketio.on_namespace() 方法。然后从另一个命名空间中,我从 current_app 中获取它并尝试触发与云服务器的连接。这将返回一个“RuntimeError:在应用程序上下文之外工作”错误。

所以此时我仍在研究如何正确地做到这一点,但我希望有人以前处理过类似的事情,并且知道如何从不同的命名空间访问一个命名空间上的方法。

【问题讨论】:

    标签: python flask-socketio python-socketio


    【解决方案1】:

    我找到了解决方案。我没有从 display 命名空间实例化我的 client 类,而是在将命名空间添加到 socketio 之前实例化它。然后,当我调用 socketio.on_namespace() 方法时,我将客户端对象传递到两个命名空间中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-06
      • 1970-01-01
      • 2012-08-06
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      相关资源
      最近更新 更多