FlaskSocketIO:我能够从客户端向服务器发出socketio消息,反之亦然

时间:2018-07-27 15:22:47

标签: python reactjs socket.io flask-socketio emit

我有一个以ReactJS为前端的Flask应用程序设置。我的应用程序的结构基于miguelgrinberg的Flask-SocketIO-Chat应用程序。因此,socketio的初始化和Flask应用程序的蓝图与上述存储库完全相同,例如:

from flask import Flask
from flask_socketio import SocketIO


socketio = SocketIO()


def create_app(debug=False):
    """Create an application."""
    app = Flask(__name__,static_folder='../../static/dist', 
    template_folder='../../static')
    app.debug = debug
    app.config['SECRET_KEY'] = 'gjr39dkjn344_!67#'

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    socketio.init_app(app)

    return app

因此,如果查看 Flask-SocketIO-Chat 存储库,则events.py目录中有app/main/,其中包含与SocketIO相关的所有工作。这样,我就有了向两个名称空间发出消息的代码。当我向/端点发送消息时,它可以正常工作,但是当我尝试向另一个选项卡中打开的/analysis端点发送消息时。发射消息没有通过。令人惊讶的是,如果我从客户端(ReactJS)发出消息,则能够在服务器(Flask)中捕获它。

这是我在客户端连接到SocketIO的方式:

import io from 'socket.io-client';

let socket = io('http://' + document.domain + ':' + location.port + '/analysis');

感谢您对此问题的任何投入。请让我知道是否需要其他信息。

-Tayab Soomro。

0 个答案:

没有答案