Flask 服务器没有为 SocketIO 启动

我正在尝试使用 SocketIO 制作聊天应用程序并关注此视频:https ://www.youtube.com/watch?v=RdSrkkrj3l4 和相应的 GitHub 代码:https ://github.com/PrettyPrinted/flask-socketio-聊天


这个文件是我的main.py文件


from flask_socketio import SocketIO


app = Flask(__name__)

app.config['SECRET_KEY'] = 'secret!'

socketio = SocketIO(app)


@app.route('/')

def index():

    return render_template("index.html")


@socketio.on('message')

def handleMessage(msg):

    print("Message:" + msg)

    send(msg, broadcast=True)


if __name__ == '__main__':

    socketio.run(app)

这是我的 index.html 页面


<html>

<head>

<title>Chat Room</title>

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.8/socket.io.min.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

</head>

<body>

<script type="text/javascript">

$(document).ready(function() {


    var socket = io.connect('http://127.0.0.1:5000');


    socket.on('connect', function() {

        socket.send('User has connected!');

    });


    socket.on('message', function(msg) {

        $("#messages").append('<li>'+msg+'</li>');

        console.log('Received message');

    });


    $('#sendbutton').on('click', function() {

        socket.send($('#myMessage').val());

        $('#myMessage').val('');

    });


});

</script>

<ul id="messages"></ul>

<input type="text" id="myMessage">

<button id="sendbutton">Send</button>

</body>

</html>


但是,当我使用 python main.py 运行烧瓶代码时。它从不加载任何东西,只是显示:


输出截图

C:\Users\Harshit Parikh\Desktop\app>python main.py

请帮帮我。


HUWWW
浏览 224回答 3
3回答

素胚勾勒不出你

我使用app.run()而不是socketio.run(app),就像问题下方评论中建议的 Caio 一样。这对我有用。启动后,我切换回socketio.run并且我的应用程序仍然有效。也许socketio需要某种kickstart?

阿波罗的战车

我遇到了类似的问题。我遇到了这个问题。我未安装greenlet,代码运行良好。我不知道为什么会这样。但是代码现在工作正常。

沧海一幻觉

它在使用虚拟环境并再次安装所有库时起作用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript