用 Python flask_socketio 反应 socket.io-client 不处理事件

Posted

技术标签:

【中文标题】用 Python flask_socketio 反应 socket.io-client 不处理事件【英文标题】:React socket.io-client with Python flask_socketio not handling events 【发布时间】:2020-03-14 20:34:45 【问题描述】:

我正在我的应用程序上实现 websockets。连接发生,但回声事件永远不会触发,我不明白为什么。服务器成功为我的 index.html 提供服务,并且“已连接”行确实登录了我的服务器,并且我的前端没有收到任何 404 或拒绝连接或服务器上的错误。

客户端代码:

componentDidMount() 
        const socket = socketIOClient(ipaddress)
        socket.on('connection', () => socket.emit('echo',  data: 'hello' ))
        socket.on('echoresponse', ( data ) => 
            console.log(data)
            socket.disconnect()
        )

服务器代码:

app = Flask(__name__,
                static_url_path='', 
                static_folder='dist',
                template_folder='dist')

socketio = SocketIO(app)

@app.route('/')
def home():
    return app.send_static_file('index.html')

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

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

@socketio.on('echo')
def echo(message):
    emit('echoresponse', 'data': message['data'])

socketio.run(app, host='0.0.0.0', port=80)

【问题讨论】:

你在服务器端的 echo 函数是否被调用了? 不,我尝试了打印语句并没有触发 【参考方案1】:

这是一个错字。在我的客户端代码中,当我应该写“连接”时,我写了“连接”。

【讨论】:

以上是关于用 Python flask_socketio 反应 socket.io-client 不处理事件的主要内容,如果未能解决你的问题,请参考以下文章

以设定的时间间隔从 flask_socketio 服务器发出事件

使用 flask_socketio + flask + gunicorn + nginx 获得 502 bad gateway 和 400 bad request

如何使用 ssl 启动 flask_socketio 应用程序?

Flask_socketIO 不与第二个客户端通信

使用flask_socketio实现客户端间即时通信

python反编译工具