UI 和 windows 机器上的 Core 之间的通信
Communication between UI and Core on windows machine
我正在开发一个基于 GUI 的应用程序,它是使用 python 开发的,然后继续。我正在使用 python(+Kivy) 来实现 UI 并使用 Go 在 windows OS.
上实现中间件/核心
我的问题陈述是:
1) 我想 运行 启动应用程序时核心的 exe,它应该保留在后台直到我的应用程序关闭。
2) 当一个事件从应用程序被触发时,一个命令被发送到核心,它轮流在远程设备上执行命令,returns 带有命令执行的结果。
我想知道如何控制 exe 的生命周期以及如何在 UI 和 Core 之间建立通信。
任何想法!!
有很多方法可以解决这个问题,但我建议将其中一个部分 (GUI/Core) 作为执行所有初始化并启动另一部分的主要应用程序。我建议为此使用核心。
这是您可以使用的示例架构,但您选择的架构在很大程度上取决于应用程序和您的目标。
核心首先运行,执行初始化操作,包括启动 GUI,设置 GUI 之间的通信(使用管道、套接字等),然后等待来自 GUI 的命令。如果 GUI 发出关闭信号,核心可以执行任何必要的清理,然后退出。在这种情况下,exe 的生命周期由 GUI 控制。(当用户点击退出按钮时,GUI 向核心发送信号,让核心知道它应该退出)
如果核心启动 GUI,则它可以为其设置 STDIN/STDOUT 管道并在 STDOUT 上侦听命令,同时在 STDIN 上发送结果。您还可以采用服务器方法,让核心监听套接字,然后 GUI 向它发送请求并等待响应。使用服务器方法,您可以拥有某种与串行管道不同的并发性,但我认为它可能比管道慢(差异可能可以忽略不计,但如果不知道您到底在做什么就很难说)。
我正在开发一个基于 GUI 的应用程序,它是使用 python 开发的,然后继续。我正在使用 python(+Kivy) 来实现 UI 并使用 Go 在 windows OS.
上实现中间件/核心我的问题陈述是:
1) 我想 运行 启动应用程序时核心的 exe,它应该保留在后台直到我的应用程序关闭。
2) 当一个事件从应用程序被触发时,一个命令被发送到核心,它轮流在远程设备上执行命令,returns 带有命令执行的结果。
我想知道如何控制 exe 的生命周期以及如何在 UI 和 Core 之间建立通信。
任何想法!!
有很多方法可以解决这个问题,但我建议将其中一个部分 (GUI/Core) 作为执行所有初始化并启动另一部分的主要应用程序。我建议为此使用核心。
这是您可以使用的示例架构,但您选择的架构在很大程度上取决于应用程序和您的目标。
核心首先运行,执行初始化操作,包括启动 GUI,设置 GUI 之间的通信(使用管道、套接字等),然后等待来自 GUI 的命令。如果 GUI 发出关闭信号,核心可以执行任何必要的清理,然后退出。在这种情况下,exe 的生命周期由 GUI 控制。(当用户点击退出按钮时,GUI 向核心发送信号,让核心知道它应该退出)
如果核心启动 GUI,则它可以为其设置 STDIN/STDOUT 管道并在 STDOUT 上侦听命令,同时在 STDIN 上发送结果。您还可以采用服务器方法,让核心监听套接字,然后 GUI 向它发送请求并等待响应。使用服务器方法,您可以拥有某种与串行管道不同的并发性,但我认为它可能比管道慢(差异可能可以忽略不计,但如果不知道您到底在做什么就很难说)。