代码拉取完成,页面将自动刷新
实时仿真绘图在仿真运行期间不能显示窗体,只在仿真结束后才显示。
经测试,如果直接在 Python REPL 环境中运行相同代码,绘图窗体能实时显示。是否因为 Popen 调用导致不能即时显示窗体,需要排查。
经查明这是 python 的 bug,运行 cmd 的 touch 命令可以实时看到文件被创建,运行 python 的 open write 不能实时看到创建的文件。但是在 python 中用 popen 是可以实时运行命令的。
在python中运行popen也是不行的,当时调试时代码有误,实际上“可以实时运行的命令”是运行在被popen打开的进程上,而非调用popen的进程上,即命令是直接给到python,而非通过pipe传输给python。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Python对pipe传输支持不完善,可以说是有bug。只有关闭stdin后,输入数据才会被传输给python,此时python拿到所有指令,才会执行。因此实时仿真过程中,窗体不能显示,只有仿真结束后才显示。而stdin一旦关闭后就无法重新打开,所以不能实现动态执行命令的功能。
因此,更改方案,使用UDP传输命令,服务器拿到命令后用exec
函数执行命令,解决了这个问题。
登录 后才可以发表评论