我正在開發一個基于 GUI 的應用程序,它是使用 python 和 go 開發的。我正在使用 python(+Kivy) 來實現 UI,并使用 Go 在 Windows 操作系統上實現中間件/核心。我的問題陳述是:1)我想在啟動應用程序時運行核心的 exe,它應該保持在后臺,直到我的應用程序關閉。2) 當應用程序觸發事件時,向內核發送命令,內核輪流在遠程設備上執行命令并返回命令執行結果。我想知道,我如何控制 exe 的生命周期以及如何在 UI 和 Core 之間建立通信。有任何想法嗎?。?
1 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
有很多方法可以解決這個問題,但我建議將其中一個部分(GUI/Core)作為執行所有初始化并啟動另一部分的主要應用程序。我建議為此使用核心。
這是您可以使用的示例架構,盡管您選擇的架構高度依賴于應用程序和您的目標。
核心首先運行,執行初始化操作,包括啟動 GUI,設置 GUI 之間的通信(使用管道、套接字等),然后等待來自 GUI 的命令。如果 GUI 發出關閉信號,核心可以執行任何必要的清理操作,然后退出。在這種情況下,exe 的生命周期由 GUI 控制。(當用戶點擊退出按鈕時,GUI 會向核心發送一個信號,讓核心知道它應該退出)
如果內核啟動 GUI,那么它可以為其設置 STDIN/STDOUT 管道并在 STDOUT 上偵聽命令,同時在 STDIN 上發送結果。您還可以采用服務器方法,讓核心在套接字上偵聽,GUI 向它發送請求并等待響應。使用服務器方法,您可以擁有與串行管道不同的某種并發性,但我認為它可能比管道慢(差異可能可以忽略不計,但如果不知道您到底在做什么,很難說)。
- 1 回答
- 0 關注
- 150 瀏覽
添加回答
舉報
0/150
提交
取消