Flask 向另一个Python应用程序读/写数据的Python Web服务器
我想在我现有的python应用程序中添加一个简单的Web服务器。 此Web服务器应该能够读取/写入我现有应用程序的数据。 我正在寻找一个简单的解决方案,只运行在我的私人本地网络 我现有的python应用程序基于运行状态机的QT-QTimer对象(使用PySide)。 状态机本身运行许多其他功能。有些函数是事件驱动的,我使用几个QT信号/插槽连接 一般来说,新的Web服务器应该:Flask 向另一个Python应用程序读/写数据的Python Web服务器,flask,tornado,pyside,qthread,qt-signals,Flask,Tornado,Pyside,Qthread,Qt Signals,我想在我现有的python应用程序中添加一个简单的Web服务器。 此Web服务器应该能够读取/写入我现有应用程序的数据。 我正在寻找一个简单的解决方案,只运行在我的私人本地网络 我现有的python应用程序基于运行状态机的QT-QTimer对象(使用PySide)。 状态机本身运行许多其他功能。有些函数是事件驱动的,我使用几个QT信号/插槽连接 一般来说,新的Web服务器应该: 交付静态网站 通过Ajax向客户端(Webbrowser)发送和接收一些数据。数据由我现有python应用程序中的设
- 交付静态网站
- 通过Ajax向客户端(Webbrowser)发送和接收一些数据。数据由我现有python应用程序中的设置组成
- 从我现有的python应用程序读取数据
- 将此数据发送回客户端
问题 我的想法是使用flask作为Web框架,使用tornado作为Web服务器。 我会在QThread中运行flask/tornado。 与我现有应用程序的数据交换可以通过QT信号和插槽完成,因为它很容易处理 我试过了,但我不知道,在线程中运行flask/tornado和同时使用信号和插槽有多精确
- 我创建了一个workerclass,并通过moveToThread(mythread)将其推送到一个qthread
- 当发出mythread.started信号时,Web服务器启动:
def processs(self): print ("thread started with id: " + str(QThread.currentThreadId())) http_server = HTTPServer(WSGIContainer(self.app)) http_server.listen(5000) IOLoop.instance().start()
- 下面是一个简单的测试路线在这里,我必须向我现有的python应用程序发送一个信号,并通过插槽接收数据。但我不知道如何处理
@app.route('/_add_numbers') def add_numbers(): """Add two numbers server side, ridiculous but well...""" a = request.args.get('a', 0, type=int) b = request.args.get('b', 0, type=int) return jsonify(result=a + b)