运行与主应用程序并行的Flask服务器

2024-10-06 12:01:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于河内大厦的简单游戏,目前在终端工作。它允许玩家在终端输入自己的回合,并将可视化输出到终端。在

我的任务是制作一个flask应用程序,它将打开一个html页面,JS脚本将在服务器上轮询游戏信息,并将终端和网页的可视化效果加倍。在

我的问题是游戏和烧瓶都有一个主循环,如果我依次运行它们,它们就不能并行工作。在

所以我需要游戏在终端上运行,玩家在终端中轮流,但我需要网络服务器来获取游戏状态并显示出来。在

我的问题:我应该用什么来做这个?多处理线程?在

假设我有一个烧瓶视图

from game import game

@app.route('/get_updates')
def get_updates():
   return flask.jsonify(game.instance().board)

如果flask和游戏在不同的线程中运行,它将如何工作?如何从另一个线程获取游戏对象?在


Tags: 服务器game应用程序终端游戏flaskget烧瓶
2条回答

只需启动另一个线程并在其中运行Flask服务器。在

在不同的线程中运行你的游戏会更好吗?在

import threading
import time
from flask import Flask, render_template

class myGame(threading.Thread):
    def __init__(self, threadID, name, counter):
        threading.Thread.__init__(self)
        self.board = 1

    def run(self):
        pass


app = Flask(__name__)
game = myGame()

@app.route('/get_updates') 
def get_updates(): 
    return flask.jsonify(game.board)

if __name__ == "__main__":
    game.start()
    app.run(port=81, host='0.0.0.0', debug=False, use_reloader=False)

相关问题 更多 >