Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        2年前关闭。
                    
                
        

我的目标:


运行中的python会不断更改变量的值。
只要python更改值,就可以使用html和javascript在浏览器上实时显示更改的值。


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


使用Flask编写python代码
要求通过javascript通过Ajax运行python
python将变量作为JSON响应返回给javascript


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


必须先手动执行python,然后javascript才能将ajax请求发送到http://localhost:5000/[...some @app.route()]。我需要第一个ajax请求后python开始无限运行(while循环)。
Flask python不能有while循环。不确定Flask中app.run()的机制。
一旦达到第一点,一旦python更改了变量,javascript也必须继续更新html。现在看来,我必须继续发送ajax请求以从python获取变量。


非常感谢您提供任何信息以解决我的问题!

最佳答案

基本上,您需要三个部分


您的python循环A
Web应用程序B
和一个javascript应用程序C


您可以将A + B组合到一个进程中,在这种情况下,您必须在单独的线程中运行循环,或者可以使用任何可用的IPC手段(例如共享内存/管道/套接字)在A和B之间进行通信。一个简单的解决方案是使用数据库服务器,A向其写入数据,B从其读取数据。

如果A和B是分开的,那么B不必是python,则可以用js或php或其他所有语言编写。

为了避免在客户端进行轮询,可以使用WebSockets在B和C之间进行通信。

09-25 17:58
查看更多