日韩在线一区二区三区,日本午夜一区二区三区,国产伦精品一区二区三区四区视频,欧美日韩在线观看视频一区二区三区 ,一区二区视频在线,国产精品18久久久久久首页狼,日本天堂在线观看视频,综合av一区

[發明專利]一種虛幻引擎與外部程序的數據通信方法有效

專利信息
申請號: 202110523205.8 申請日: 2021-05-13
公開(公告)號: CN113296979B 公開(公告)日: 2022-10-14
發明(設計)人: 徐新海;朱成璋;劉遜韻;李豪;葉帥;楊偉龍 申請(專利權)人: 中國人民解放軍軍事科學院戰爭研究院
主分類號: G06F9/54 分類號: G06F9/54
代理公司: 中國兵器工業集團公司專利中心 11011 代理人: 祁恒
地址: 100091 *** 國省代碼: 北京;11
權利要求書: 查看更多 說明書: 查看更多
摘要:
搜索關鍵詞: 一種 虛幻 引擎 外部 程序 數據通信 方法
【權利要求書】:

1.一種虛幻引擎與外部程序的數據通信方法,其特征在于,所述虛幻引擎與外部程序之間采用gRPC遠程服務調用作為數據傳輸的通信方式,采用protobuf作為數據傳輸格式;虛幻引擎與外部程序的數據通信分為虛幻引擎主動請求和虛幻引擎被動監聽兩種形式;其中,

所述虛幻引擎主動請求是虛幻引擎將需要發送的消息封裝為protobuf數據傳輸格式,采用gRPC提供的request功能,將數據發送給指定的外部程序,并收取該外部程序通過gRPC提供的reply功能對上述數據進行的回復;具體包括如下步驟:

1.1、建立protobuf數據格式文件

建立protobuf數據格式文件,根據protobuf格式語法,定義數據傳輸格式,在該數據格式文件中定義gRPC遠程服務調用的具體服務名稱并指定該服務在request和reply功能中傳遞數據的傳輸格式;

1.2、編譯protobuf數據格式文件

使用protobuf工具protoc編譯在步驟1.1中建立的protobuf數據格式文件,生成protobuf數據格式的C++頭文件和源文件;將頭文件和源文件拷貝至虛幻引擎項目中,供虛幻引擎使用步驟1.1中定義的protobuf數據格式和gRPC遠程調用服務;

1.3、創建“主動請求”的C++基類

在虛幻引擎項目中創建“主動請求”的C++基類,在此基類頭文件中引用步驟1.2中生成的頭文件,并在此基類中利用C++智能指針創建步驟1.1中定義的gRPC遠程服務調用的通信憑證作為其類變量;

1.4、創建每種“主動請求”的gRPC具體服務的C++類

在虛幻引擎項目中為每一種需要虛幻引擎“主動請求”的gRPC具體服務創建C++類,這些類繼承步驟1.3中創建的“主動請求”的C++基類;在這些類中,定義消息發送的具體實現函數,使用基類中的通信憑證中包含的gRPC異步消息發送函數發送數據;其中,所述發送數據具有由步驟1.1定義的protobuf數據格式;

1.5、創建“主動請求”通信接口的C++類

在虛幻引擎項目中創建“主動請求”通信接口的C++類;在該類中,將步驟1.4中所有創建的虛幻引擎“主動請求”的gRPC具體服務的C++類實例化為通信接口類的類變量,同時設置一個字符串類型的類變量用以保存所需通信的外部程序的監聽地址;在該類中提供通信接口的構造函數以及每項gRPC具體服務通信的接口函數;其中,通信接口構造函數參數為所需通信的外部程序的監聽地址、gRPC通信配置;外部程序的監聽地址傳入步驟1.3基類中的通信憑證變量之中;gRPC通信配置為gRPC遠程服務調用所需求的通用配置參數;每項gRPC具體服務通信的接口函數的參數為該通信所需發送的具體數據變量,該函數通過調用對應的通信接口類變量中的消息發送的具體實現函數發送數據,并返回外部程序對gRPC請求的響應數據;

1.6、創建每種“主動請求”的gRPC具體服務的異步任務類

在虛幻引擎項目中,為每一項“主動請求”的gRPC具體服務創建異步任務類,該類通過繼承自虛幻引擎提供的異步任務基類實現任務異步執行的能力;在該類中,除了虛幻引擎中使用異步任務基類必須設置的默認變量和函數外,額外設置三個類變量:第一個額外的類變量為步驟1.5中創建的“主動請求”通信接口的C++類的類實例指針;第二個額外的類變量為所需發送的數據變量;第三個額外的變量為所接收的響應數據變量;上述額外設置的三個類變量的值,通過異步任務類的構造函數傳入,在該異步任務類的任務執行函數中使用,使用方法為:將所需發送的數據變量以參數形式傳入通信接口的C++類的類實例指針包含的對應本異步任務類的gRPC具體服務的接口函數中,將接口的返回值保存至響應數據變量中;

1.7、封裝每種“主動請求”的gRPC具體服務的數據發送函數

在虛幻引擎項目中,為每一項“主動請求”的gRPC具體服務封裝數據發送函數,并在該函數的聲明前加上虛幻引擎提供的宏,將該函數設置為藍圖可調用;該數據發送函數利用異步任務類在異步線程上執行步驟1.6創建的異步任務類;

1.8、在C++或藍圖中調用數據發送函數

在虛幻引擎項目中需要利用“主動請求”進行通信時,通過C++或藍圖調用在步驟1.7封裝的數據發送函數,實現引擎“主動請求”形式的通信;

所述虛幻引擎被動監聽是虛幻引擎開啟gRPC監聽端口,監聽任意外部程序通過gRPC提供的request功能發送到該端口的protobuf傳輸格式定義的數據;在收到數據后,虛幻引擎采用gRPC提供的reply功能對上述數據進行回復;具體包括如下步驟:

2.1、建立protobuf數據格式文件

建立protobuf數據格式文件,根據protobuf格式語法,定義數據傳輸格式,在該數據格式文件中定義gRPC遠程服務調用的具體服務名稱并指定該服務在request和reply功能中傳遞數據的傳輸格式;

2.2、編譯protobuf數據格式文件

使用protobuf工具protoc編譯在步驟2.1中建立的protobuf數據格式文件,生成protobuf數據格式的C++頭文件和源文件;將頭文件和源文件拷貝至虛幻引擎項目中,供虛幻引擎使用步驟2.1中定義的protobuf數據格式和gRPC遠程調用服務;

2.3、創建“被動監聽”的C++基類

在虛幻引擎項目中創建“被動監聽”的C++基類,在此基類頭文件中引用步驟2.2中生成的頭文件;此基類創建為模板類,其模板的參數列表中包含三個虛擬類型參數名,分別用以傳入監聽處理函數的返回值類型、gRPC遠程調用服務的請求類型、gRPC遠程調用服務的回復類型;在此C++基類中,創建gRPC中異步服務類的實例指針、服務完成隊列類的實例指針、服務異步響應類的實例、請求類實例以及回復類實例作為類變量;在此C++基類中以純虛函數的形式定義監聽處理函數的接口;

2.4、創建每種“被動監聽”的gRPC具體服務的C++類

在虛幻引擎項目中為每一種需要虛幻引擎“被動監聽”的gRPC具體服務創建C++類,這些類繼承步驟2.3中創建的“被動監聽”的C++基類,并將該服務所涉及的具體的監聽處理函數的返回值類型、gRPC遠程調用服務的請求類型、gRPC遠程調用服務的回復類型傳入步驟2.3中模板的參數列表中;在這些類中,針對不同的需要監聽的gRPC服務,給出監聽處理函數的具體實現;在監聽處理函數的具體實現中,使用基類中創建的類變量異步接收外部程序發送來的具有由步驟2.1定義的protobuf數據格式的數據,并將數據存放至服務完成隊列中等待處理;對于服務完成隊列中的數據的處理,包含兩個步驟:第一,將接收到的外部程序發送數據,提取并轉化為監聽處理函數的返回值類型返回至函數調用對象;第二,依據所設計的gRPC具體服務需求,將虛幻引擎中的需回復的數據以回復類形式回復外部程序;

2.5、創建“被動監聽”的監聽服務C++類

在虛幻引擎項目中創建“被動監聽”的監聽服務C++類;在該類中,利用C++智能指針創建gRPC監聽服務類的實例指針,并為步驟2.4中創建的gRPC具體服務的C++類創建服務完成隊列的實例指針,將上述實例指針作為該類的類變量;提供監聽服務的開始運行和結束運行函數,開始運行函數指定監聽端口號,打開gRPC服務監聽端口,并綁定各服務完成隊列,結束運行函數關閉gRPC服務監聽端口,并關閉各服務完成隊列;

2.6、創建“被動監聽”異步線程的C++基類

在虛幻引擎項目中,創建“被動監聽”異步線程的C++基類;該基類通過繼承自虛幻引擎提供的異步線程基類實現創建異步線程執行并在異步線程上執行任務的能力;在該基類中,除了虛幻引擎中使用異步線程基類必須設置的默認變量和函數外,額外設置兩個類變量:第一個額外的類變量為步驟2.5中創建的“被動監聽”的監聽服務C++類的類實例指針,該類實例指針通過虛幻引擎提供的共享指針模板類創建;第二個額外的類變量為布爾類型,用以作為監聽服務是否已完成的標志位;

2.7、創建每項“被動監聽”的gRPC具體服務的異步線程類

在虛幻引擎項目中,為每一項“被動監聽”的gRPC具體服務創建異步線程類;該類繼承自步驟2.6創建的“被動監聽”異步線程基類;在該類中,除繼承基類的類變量外,額外設置一個類變量,該類變量為虛幻引擎提供的隊列模板類的實例,其實例中數據類型為該類對應的gRPC具體服務C++類中監聽處理函數的返回值類型;該異步線程類覆寫基類中的異步線程執行函數,在該執行函數中,通過C++的while循環,循環使用步驟2.6中創建的第一個額外變量調用步驟2.4中創建的監聽處理函數以處理該異步線程類對應的在步驟2.5中創建的服務完成隊列中的數據,每次循環中,處理得到的數據被寫入該異步線程類的隊列模板類實例變量中,供其它線程讀取;該while循環的執行條件,由步驟2.6中創建的第二個額外變量決定:當該變量值為false時執行循環,當該變量值為true時結束循環;

2.8、封裝“監聽服務開啟函數”和“監聽服務關閉函數”

在虛幻引擎項目中封裝“監聽服務開啟函數”和“監聽服務關閉函數”;在監聽服務開啟函數中,調用步驟2.5中創建的“被動監聽”的監聽服務C++類中的開始運行函數,開啟監聽服務;在監聽服務開啟函數中使用虛幻引擎提供的異步線程構建函數構建異步線程并執行步驟2.7中創建的gRPC具體服務異步線程類,用以在異步線程上處理監聽到的gRPC具體服務中包含的數據;在監聽服務關閉函數中,將所有步驟2.7中創建的gRPC具體服務異步線程類中的循環執行標志位設置為true,執行步驟2.5中創建的“被動監聽”的監聽服務C++類中的結束運行函數關閉監聽服務,并刪除在監聽服務開啟函數中構造執行的所有異步線程;

2.9、在C++或藍圖中調用“監聽服務開啟函數”和“監聽服務關閉函數”

在虛幻引擎項目中需要利用“被動監聽”進行通信時,通過C++或藍圖調用在步驟2.8封裝的監聽服務開啟函數,實現引擎被動監聽外部程序發送的數據,并將有關數據回復給外部程序;當無需繼續進行“被動監聽”通信時,通過C++或藍圖調用在步驟2.8封裝的監聽服務關閉函數,關閉被動監聽通信。

下載完整專利技術內容需要扣除積分,VIP會員可以免費下載。

該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍軍事科學院戰爭研究院,未經中國人民解放軍軍事科學院戰爭研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服

本文鏈接:http://www.szxzyx.cn/pat/books/202110523205.8/1.html,轉載請聲明來源鉆瓜專利網。

×

專利文獻下載

說明:

1、專利原文基于中國國家知識產權局專利說明書;

2、支持發明專利 、實用新型專利、外觀設計專利(升級中);

3、專利數據每周兩次同步更新,支持Adobe PDF格式;

4、內容包括專利技術的結構示意圖流程工藝圖技術構造圖

5、已全新升級為極速版,下載速度顯著提升!歡迎使用!

請您登陸后,進行下載,點擊【登陸】 【注冊】

關于我們 尋求報道 投稿須知 廣告合作 版權聲明 網站地圖 友情鏈接 企業標識 聯系我們

鉆瓜專利網在線咨詢

周一至周五 9:00-18:00

咨詢在線客服咨詢在線客服
tel code back_top
主站蜘蛛池模板: 九色国产精品入口| 综合久久国产九一剧情麻豆| 国产在线干| 国产精品乱码久久久久久久久| 亚洲国产99| 国产日产高清欧美一区二区三区| 日韩一级精品视频在线观看| 国产精品1区2区| 少妇又紧又色又爽又刺激视频网站| 中文字幕一级二级三级| 亚洲午夜国产一区99re久久| 理论片高清免费理伦片| 国产经典一区二区| 国产一区二区午夜| 国产在线一区不卡| 午夜wwwww| 国产亚洲欧美日韩电影网| 免费精品一区二区三区视频日产| 国产精品久久久久久久久久不蜜臀| 欧美精品xxxxx| 午夜无遮挡| 久久激情影院| 午夜特级片| 亚洲精品久久久久久动漫| 久久aⅴ国产欧美74aaa| 日韩精品中文字| 福利电影一区二区三区| 国产一区2区3区| 精品久久久久久久久亚洲| 少妇高清精品毛片在线视频| 99久久国产综合| 国产黄色一区二区三区| 国产精品白浆一区二区| 91精品视频免费在线观看| 99视频国产精品| 97国产精品久久| av午夜影院| av不卡一区二区三区| 国产一级片网站| 99国精视频一区一区一三| 狠狠色噜噜狠狠狠888奇米| 午夜色影院| 日本中文字幕一区| 欧美黄色一二三区| 国产精品6699| 久久99精品国产| 欧美激情精品久久久久久免费| 国产伦精品一区二区三区免费观看| 国产女人与拘做受免费视频| 99精品视频一区二区| 91精品黄色| 午夜黄色大片| 精品国产鲁一鲁一区二区三区| 国产精品亚洲精品一区二区三区| 欧美午夜羞羞羞免费视频app| 欧美一区二区三区久久久久久桃花 | 亚洲乱码一区二区三区三上悠亚 | 亚洲精品一区,精品二区| 国产精品尤物麻豆一区二区三区| 国产欧美亚洲一区二区| 中文字幕a一二三在线| 性国产videofree极品| 日韩不卡毛片| 国产精品一区二区麻豆| 国产精品亚洲精品| 三级午夜片| 日韩三区三区一区区欧69国产| 99精品国产免费久久| 国产精品麻豆一区二区三区| 国产专区一区二区| 久久er精品视频| 国产欧美一区二区在线观看| 亚洲午夜精品一区二区三区电影院| 日韩毛片一区| 国产精品美女一区二区视频| 欧美国产一区二区三区激情无套| 大bbw大bbw巨大bbb| 国产videosfree性另类| 欧美三区视频| 夜夜夜夜夜猛噜噜噜噜噜gg| 国产视频一区二区不卡| 久久精品国产96| 中文字幕1区2区3区| 国产第一区在线观看| 97精品国产97久久久久久免费| 99久久国产综合精品麻豆 | 国产91视频一区| 国产不卡一区在线| 91黄在线看| 欧美二区在线视频| 国产精品日韩一区二区| 性色av色香蕉一区二区三区| 88888888国产一区二区| 午夜影院h| 99视频一区| 天堂av一区二区三区| 99久久精品国产国产毛片小说 | 国产精品一级片在线观看| 欧美乱妇高清无乱码| 性old老妇做受| 亚洲国产精品肉丝袜久久| 亚洲精品国产一区二区三区| 欧美精品一区二区久久久| 午夜影院一级| 国产99久久九九精品| 97视频久久久| 午夜影院啊啊啊| 欧美精品中文字幕在线观看| 日韩中文字幕在线一区| 欧美色综合天天久久| 亚洲二区在线播放视频| 大bbw大bbw巨大bbw看看| 午夜在线看片| 国产精品一区亚洲二区日本三区 | 日本护士hd高潮护士| 国产伦精品一区二区三区免费观看| 国内视频一区二区三区| 精品国产精品亚洲一本大道| 欧美精品一区二区久久久| 狠狠色狠狠色综合日日五| 日韩国产精品久久久久久亚洲| 国产精品一二三区视频网站| 国产理论一区| 免费看片一区二区三区| 国产精品一区一区三区| 国产精品女同一区二区免费站| 正在播放国产一区二区| 91精品国产高清一区二区三区 | 夜色av网| 免费精品一区二区三区第35| 国产欧美日韩一区二区三区四区| 国产一区免费播放| 欧洲在线一区| 国产精品天堂网| 欧美一级日韩一级| 久久精品综合| 日本美女视频一区二区| 色妞www精品视频| 国产91精品一区| 伊人欧美一区| 特级免费黄色片| 国产日韩欧美在线影视| 玖玖国产精品视频| 久久国产精品-国产精品| 国产精品久久免费视频在线| 亚洲一级中文字幕| 精品国产免费一区二区三区| 国产精品一区不卡| 日韩欧美激情| 国产在线不卡一| 久久精品国产96| 老太脱裤子让老头玩xxxxx| 国产一级自拍| 国内少妇偷人精品视频免费| 国产69精品久久久久999小说| 午夜一区二区三区在线观看| 久久久久国产精品www| 欧美一区二区三区激情| 国产精品剧情一区二区三区| 午夜av电影网| 国产91久久久久久久免费 | 视频二区狠狠色视频| 欧美午夜羞羞羞免费视频app| 久久国产精品首页| 国产日韩精品久久| 亚洲精品日本久久一区二区三区 | 欧美精品一卡二卡| 97人人模人人爽视频一区二区| 夜夜夜夜夜猛噜噜噜噜噜gg| 欧美一区二区三区四区夜夜大片| 国产精品自产拍在线观看蜜| 少妇厨房与子伦免费观看| 久久久久国产精品www| 日韩精品一区二区三区四区在线观看 | 国产乱xxxxx国语对白| 色婷婷综合久久久久中文| 精品国产仑片一区二区三区| 国产精品影音先锋| 国产麻豆91视频| 欧美亚洲国产日韩| 国产91清纯白嫩初高中在线观看| 国91精品久久久久9999不卡| 男女午夜爽爽| 91精品综合| 99国产超薄丝袜足j在线观看| 狠狠插影院| 一区二区久久精品66国产精品| 在线精品国产一区二区三区88| 久久久国产精品一区| 国产99久久久久久免费看| 国内少妇自拍视频一区| 精品一区二区三区影院| 91福利视频导航| 国产精品久久久久久久久久软件| 大伊人av| 精品国产免费久久| 亚洲美女在线一区| 国产美女视频一区二区三区| 久久精品手机视频| 四虎久久精品国产亚洲av| 亚洲视频精品一区| 日本一二三区视频| 国产欧美久久一区二区三区| 午夜色影院| 中文字幕理伦片免费看| 国产女人和拘做受在线视频| 日本一级中文字幕久久久久久| 99久久精品一区二区| 亚洲制服丝袜在线| 午夜爽爽爽男女免费观看| 大桥未久黑人强制中出| 99久久婷婷国产亚洲终合精品| 久久二区视频| 午夜av男人的天堂| av午夜影院| 国产精品久久久久久亚洲美女高潮| 国产88av| 午夜国产一区| 欧美一区二区三区另类| 久久亚洲精品国产一区最新章节| 国产激情视频一区二区| 国产91久| 一区二区在线国产| 亚洲国产精品日本| 96精品国产| 激情久久精品| 国产在线播放一区二区| 欧美大成色www永久网站婷| 素人av在线| 中文字幕一区二区三区免费| 日韩av在线中文| 久久久精品视频在线| 自偷自拍亚洲| 国产一区二区视频免费观看| 中文字幕国内精品| 91一区二区在线观看| 欧美日韩一区二区三区69堂| 国产在线干| 久久国产麻豆| 狠狠色狠狠色综合系列| 美女销魂免费一区二区| 日韩精品一区二区三区中文字幕| 日韩在线一区视频| 狠狠色噜噜狠狠狠888奇米| 国产亚洲精品久久yy50| 国产精品久久久久久久龚玥菲|