首页 > 解决方案 > 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

请帮帮我。

标签: javascriptpythonhtmlflasksocket.io

解决方案


它在使用虚拟环境并再次安装所有库时起作用。


推荐阅读