为什么我在 flask-socket-io 连接事件中收到 "Method must have a first parameter, usually called 'self' " 错误

Why i am getting error as "Method must have a first parameter, usually called 'self' " for flask-socket-io connect event

我正在尝试使用 flask socket-io 创建一个实时聊天应用程序。但是在我使用连接事件的地方,它显示了这个“方法必须有一个第一个参数,通常称为 'self'”错误。我怎样才能解决这个问题。我正在使用 flask-socketio 4.3.0。 这是我的代码。

    @socketio.on('disconnect')
    def disconnect():
        print('Client disconnected')

    @socketio.on('connect')
    def connect():
        print("Client connected")

这是屏幕截图。

您在问题中展示的代码示例不完整。您在 class 中定义这些处理程序,而不是作为独立函数,对吗?

处理程序应该是常规函数。如果您想将它们保留在 class 中,请尝试将它们设为静态方法:

    @socketio.on('disconnect')
    @staticmethod
    def disconnect():
        print('Client disconnected')

    @socketio.on('connect')
    @staticmethod
    def connect():
        print("Client connected")