第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Windows機(jī)器上UI和Core之間的通信

Windows機(jī)器上UI和Core之間的通信

Go
慕妹3146593 2022-01-10 17:20:18
我正在開發(fā)一個(gè)基于 GUI 的應(yīng)用程序,它是使用 python 和 go 開發(fā)的。我正在使用 python(+Kivy) 來實(shí)現(xiàn) UI,并使用 Go 在 Windows 操作系統(tǒng)上實(shí)現(xiàn)中間件/核心。我的問題陳述是:1)我想在啟動(dòng)應(yīng)用程序時(shí)運(yùn)行核心的 exe,它應(yīng)該保持在后臺(tái),直到我的應(yīng)用程序關(guān)閉。2) 當(dāng)應(yīng)用程序觸發(fā)事件時(shí),向內(nèi)核發(fā)送命令,內(nèi)核輪流在遠(yuǎn)程設(shè)備上執(zhí)行命令并返回命令執(zhí)行結(jié)果。我想知道,我如何控制 exe 的生命周期以及如何在 UI 和 Core 之間建立通信。有任何想法嗎?。?
查看完整描述

1 回答

?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

有很多方法可以解決這個(gè)問題,但我建議將其中一個(gè)部分(GUI/Core)作為執(zhí)行所有初始化并啟動(dòng)另一部分的主要應(yīng)用程序。我建議為此使用核心。

這是您可以使用的示例架構(gòu),盡管您選擇的架構(gòu)高度依賴于應(yīng)用程序和您的目標(biāo)。

核心首先運(yùn)行,執(zhí)行初始化操作,包括啟動(dòng) GUI,設(shè)置 GUI 之間的通信(使用管道、套接字等),然后等待來自 GUI 的命令。如果 GUI 發(fā)出關(guān)閉信號(hào),核心可以執(zhí)行任何必要的清理操作,然后退出。在這種情況下,exe 的生命周期由 GUI 控制。(當(dāng)用戶點(diǎn)擊退出按鈕時(shí),GUI 會(huì)向核心發(fā)送一個(gè)信號(hào),讓核心知道它應(yīng)該退出)

如果內(nèi)核啟動(dòng) GUI,那么它可以為其設(shè)置 STDIN/STDOUT 管道并在 STDOUT 上偵聽命令,同時(shí)在 STDIN 上發(fā)送結(jié)果。您還可以采用服務(wù)器方法,讓核心在套接字上偵聽,GUI 向它發(fā)送請(qǐng)求并等待響應(yīng)。使用服務(wù)器方法,您可以擁有與串行管道不同的某種并發(fā)性,但我認(rèn)為它可能比管道慢(差異可能可以忽略不計(jì),但如果不知道您到底在做什么,很難說)。


查看完整回答
反對(duì) 回復(fù) 2022-01-10
  • 1 回答
  • 0 關(guān)注
  • 157 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)