gpt4 book ai didi

python - Windows机器上UI和Core之间的通信

转载 作者:IT王子 更新时间:2023-10-29 01:45:19 24 4
gpt4 key购买 nike

我正在开发一个基于 GUI 的应用程序,它是使用 python 和 go 开发的。我正在使用 python(+Kivy) 来实现 UI,并使用 Go 在 Windows 操作系统上实现中间件/核心。

我的问题陈述是:

1) 我想在启动应用程序时运行核心的 exe,它应该保留在后台直到我的应用程序关闭。

2) 当一个事件从应用程序被触发时,一个命令被发送到核心,它轮流在远程设备上执行命令并返回命令执行的结果。

我想知道如何控制 exe 的生命周期以及如何在 UI 和 Core 之间建立通信。

任何想法!!

最佳答案

有很多方法可以解决这个问题,但我建议将其中一个部分 (GUI/Core) 作为主要应用程序,它执行所有初始化并启动另一部分。我建议为此使用核心。

这是您可以使用的示例架构,但您选择的架构在很大程度上取决于应用程序和您的目标。

核心首先运行,执行初始化操作,包括启动 GUI,设置 GUI 之间的通信(使用管道、套接字等),然后等待来自 GUI 的命令。如果 GUI 发出关闭信号,核心可以执行任何必要的清理,然后退出。在这种情况下,exe 的生命周期由 GUI 控制。(当用户点击退出按钮时,GUI 向核心发送信号,让核心知道它应该退出)

如果核心启动了 GUI,那么它可以为其设置 STDIN/STDOUT 管道并在 STDOUT 上监听命令,同时在 STDIN 上发送结果。您还可以采用服务器方法,让核心监听套接字,然后 GUI 向它发送请求并等待响应。使用服务器方法,您可以拥有某种与串行管道不同的并发性,但我认为它可能比管道慢(差异可能可以忽略不计,但如果不知道您到底在做什么就很难说)。

关于python - Windows机器上UI和Core之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37319345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com