【发布时间】:2021-11-07 15:20:41
【问题描述】:
大家好,几天前我的任务是创建一个 API 风格的应用程序,它通过 TCP 套接字侦听一些命令,然后返回一些响应,主要是成功/失败(我知道这很愚蠢,但它是客户端请求),因为我有一些验证/数据库的东西我直接想到了烧瓶,但我仍然坚持如何直接调用代码中的特定端点。这是一个关于我想象的事情的小sn-p
from flask import Flask
import threading
data = 'foo'
app = Flask(__name__)
@app.route("/SomeCommand")
def SomeCommand():
return { 'Some' : 'Response'}
def flaskThread():
app.run()
def TcpListenner():
# logic that listens over tcp socket then invoks the flask app
# I was thinking about calling app.something() from here
pass
if __name__ == "__main__":
flaskApp = threading.Thread(target=flaskThread)
flaskApp.start()
listenner = threading.Thread(target=TcpListenner)
listenner.start()
任何帮助/想法将不胜感激,谢谢
【问题讨论】:
-
你想实现它就像套接字会监听不同的命令,然后在每个命令上,会有不同的响应吗?
-
而且您不想向烧瓶应用程序发出任何请求。相反,flask 应用程序会在收到命令时自行发送响应?
-
我基本上希望 tcp 监听器充当烧瓶应用程序和客户端之间的中间件
-
所以顺序是客户端 -> tcp 监听器 -> flaskapp -> tcp 监听器 -> 客户端
标签: python multithreading flask tcp