亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Windows機器上UI和Core之間的通信

Windows機器上UI和Core之間的通信

Go
慕妹3146593 2022-01-10 17:20:18
我正在開發一個基于 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 向它發送請求并等待響應。使用服務器方法,您可以擁有與串行管道不同的某種并發性,但我認為它可能比管道慢(差異可能可以忽略不計,但如果不知道您到底在做什么,很難說)。


查看完整回答
反對 回復 2022-01-10
  • 1 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號