从javascript与正在运行的python通信的正确方法

我的目标:

  1. 正在运行的python不断改变变量的值。

  2. 只要python正在更改值,就可以使用html和javascript实时显示浏览器上的更改值。

以下是我用谷歌搜索的解决方案:

  1. 使用Flask编写 python 代码

  2. 请求从javascript通过Ajax运行python

  3. python 将变量作为 JSON 响应给 javascript

基于此解决方案,我有以下问题,如果有任何误解,请随时纠正我。

  1. 必须先手动执行 python,然后 javascript 才能将 ajax 请求发送到http://localhost:5000/[...some @app.route()]. 我需要在第一个 ajax 请求之后python开始无限运行(while 循环)。

  2. Flask python不能有 while 循环。不确定app.run()Flask的机制。

  3. 一旦达到第一点,一旦python更改变量,javascript还必须不断更新html。现在看来我必须不断发送ajax请求才能从python中获取变量。

真的很感谢任何信息来解决我的问题!


陪伴而非守候
浏览 289回答 2
2回答

吃鸡游戏

基本上,你需要三个部分你的蟒蛇循环A一个网络应用程序 B和一个 javascript 应用程序 C您可以将 A+B 组合到一个进程中,在这种情况下,您必须在单独的线程中运行循环,或者您可以使用任何可用的 IPC 方式(例如共享内存/管道/套接字)在 A 和 B 之间进行通信。一个简单的解决方案是使用数据库服务器,A 向其写入数据,B 从中读取数据。如果A和B是分开的,那么B不一定是python,你可以用js或php或其他任何东西来写。为了避免在客户端进行轮询,可以使用WebSockets在 B 和 C 之间进行通信。

温温酱

您必须在另一个线程或进程中运行 while 循环,例如使用flask-celeryjavascript更新可以通过setTimeout来实现
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python