日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 智能硬件 > 人工智能AI
[導(dǎo)讀] Thrift_Python/…使用 Python/Node.js/Golang/Php… 都差不多,都可以完成服務(wù)和客戶端的編寫(xiě),這里以Python為例。

Thrift_Python/…使用

Python/Node.js/Golang/Php… 都差不多,都可以完成服務(wù)和客戶端的編寫(xiě),這里以Python為例。

Thrift的Python端既可以寫(xiě)服務(wù)器,也可以寫(xiě)客戶端。 (Golang請(qǐng)參考之前的文章)

Server端

為了兼容JS端,我們這里都以一下要求為標(biāo)準(zhǔn)。

要求:(否則JS無(wú)法解析)

Json Protocol打包協(xié)議

Http Transport通信

MulTIpleProtocol/Processer(非必需)

1. 業(yè)務(wù)代碼源

同其他語(yǔ)言,使用thrift編譯工具,將xxx.thrift文件編譯為xx.py文件,通過(guò)pip安裝thrift基礎(chǔ)python庫(kù)即可。

參考命令:thrift -o . -out ./pyModule --gen py Robot.thrift , pip install thrift

2. 使用方法# coding: utf-8importsys sys.path.append("./pyModule")fromthrift.transporTImportTHttpServerfromthrift.protocolimportTJSONProtocolfromthrift.protocol.TMulTIplexedProtocolimportTMulTIplexedProtocolimportRobotimportRobot.AudioclassRobotAudioHandle:defTtsPlay(self, strTxt, nPlayPriority):""" Parameters: - strTxt - nPlayPriority """print("RobotAudioHandle:",strTxt,nPlayPriority)passhandler = RobotAudioHandle() processor = Robot.Audio.Processor(handler) server = THttpServer.THttpServer(TMultiplexedProcessor(processor,"Audio"), ("127.0.0.1",9000), TJSONProtocol.TJSONProtocolFactory) print("Server start...") server.serve()

這個(gè)代碼可以仿照Golang的Demo,幾乎一樣。

吐槽一下:Python的包機(jī)制真是個(gè)坑?。?!

Client端

不多說(shuō)什么,直接看代碼吧~~

Robot源代碼庫(kù)使用服務(wù)器那份,方法相同。

# coding: utf-8importsys sys.path.append("./pyModule")fromthrift.transport.THttpClientimportTHttpClientfromthrift.protocol.TJSONProtocolimportTJSONProtocolfromthrift.protocol.TMultiplexedProtocolimportTMultiplexedProtocolimportRobotimportRobot.AudioclassRobotProxy:defflush(self):sys.stdout.flush()def__init__(self):self.Robot_tans =Noneself.protocol =Noneself.Audio =Noneself.Robot_tans = THttpClient("http://127.0.0.1:9000/robot") self.protocol = TJSONProtocol(self.Robot_tans)try: self.Audio = Robot.Audio.Client(TMultiplexedProtocol(self.protocol,"Audio"))except: print("Audio Proxy error!")try: self.Robot_tans.open()except: print("Robot_tans or protocol error!") print("Load RobotProxy Module...") app = RobotProxy()

之前寫(xiě)了太多服務(wù)端的代碼,寫(xiě)的有點(diǎn)煩了,這里就不做太多解析,直接看代碼就好。 ??

總結(jié)

Python作為腳本很簡(jiǎn)單好用,但是在編寫(xiě)嚴(yán)格的代碼時(shí)真的很是抓狂,特備是Thrift這類(lèi)文檔不豐富的庫(kù)時(shí),簡(jiǎn)直要瘋掉。

本篇的代碼時(shí)通過(guò)Test項(xiàng)目學(xué)習(xí)得來(lái)的,路漫漫其修遠(yuǎn)兮~

這就是Thrift的坑,文檔太少了。

其他語(yǔ)言的代碼,這里省略了。如果有什么問(wèn)題,請(qǐng)查看Test目錄,參考學(xué)習(xí)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

上海2026年3月16日 /美通社/ -- 近日,在AWE中國(guó)家電及消費(fèi)電子博覽會(huì)(簡(jiǎn)稱(chēng):AWE)上,國(guó)際公認(rèn)的測(cè)試、檢驗(yàn)和認(rèn)證機(jī)構(gòu)SGS為追覓創(chuàng)新科技(蘇州)有限公司(以下簡(jiǎn)稱(chēng)"追覓")旗下RLX86DE、RLX87D...

關(guān)鍵字: MARK PERFORMANCE 掃地機(jī)器人 TEST

在嵌入式硬件開(kāi)發(fā)中,測(cè)試環(huán)節(jié)常占據(jù)項(xiàng)目周期40%以上時(shí)間。本文介紹如何利用Python構(gòu)建高效自動(dòng)化測(cè)試框架,通過(guò)腳本驅(qū)動(dòng)實(shí)現(xiàn)批量測(cè)試、數(shù)據(jù)采集和結(jié)果分析,將測(cè)試效率提升3-5倍,同時(shí)降低人為操作誤差。

關(guān)鍵字: 嵌入式硬件 測(cè)試自動(dòng)化 python

LambdaTest更名為T(mén)estMu AI,成為全球首個(gè)實(shí)現(xiàn)完全自主測(cè)試的智能體質(zhì)量工程平臺(tái) 為無(wú)限代碼時(shí)代帶來(lái)氛圍測(cè)試: 隨著智能體AI(Agentic AI)重塑...

關(guān)鍵字: TEST STM AI 智能體

LambdaTest入選2025年Gartner? AI增強(qiáng)軟件測(cè)試工具M(jìn)agic Quadrant?挑戰(zhàn)者象限 評(píng)估基于愿景完整性與執(zhí)行力 印度諾伊達(dá)和舊金山2025年...

關(guān)鍵字: TEST GARTNER AI AN

體驗(yàn)覆蓋網(wǎng)頁(yè)與移動(dòng)端的無(wú)縫測(cè)試規(guī)劃、編寫(xiě)與執(zhí)行流程,加速質(zhì)量保證,推動(dòng)更快的產(chǎn)品發(fā)布。 印度諾伊達(dá)和舊金山2025年9月17日 /美通社/ -- 基于生成式人工智能的質(zhì)量工...

關(guān)鍵字: AI 自動(dòng)化 TEST AN

-LambdaTest推出全球首個(gè)AI智能體測(cè)試平臺(tái):引入智能體對(duì)智能體測(cè)試 AI原生多智能體系統(tǒng)提供更智能、更快、更全面的軟件測(cè)試 舊金山2025年8月20日 /美通社...

關(guān)鍵字: 智能體 測(cè)試平臺(tái) TEST AI

視頻Transformer模型在視頻理解、動(dòng)作識(shí)別等任務(wù)中展現(xiàn)出強(qiáng)大性能,然而其高計(jì)算復(fù)雜度和內(nèi)存消耗限制了實(shí)際應(yīng)用。為解決這一問(wèn)題,本文從算法和硬件層面出發(fā),探討視頻Transformer模型的稀疏化加速方法,包括算法...

關(guān)鍵字: Transformer模型 python

在FPGA工具的軟件世界中,用于在FPGA上開(kāi)發(fā)設(shè)計(jì)的ide似乎每年都在加速,我在這里使用“加速”是一個(gè)雙關(guān)語(yǔ)。這就意味著不缺少安裝技巧和技巧。所以我在這里再次使用AMD FPGA工具版本2024.2,因?yàn)槲以谶@個(gè)安裝過(guò)...

關(guān)鍵字: FPGA Linux python

在本教程中,我們將指導(dǎo)您使用BleuIO USB BLE加密狗創(chuàng)建一個(gè)BLE實(shí)時(shí)macOS菜單欄應(yīng)用程序。BleuIO是一個(gè)非常通用的工具,它簡(jiǎn)化了BLE(低功耗藍(lán)牙)應(yīng)用程序的開(kāi)發(fā),使其成為希望輕松構(gòu)建創(chuàng)新項(xiàng)目的開(kāi)發(fā)人...

關(guān)鍵字: BleuIO 低功耗藍(lán)牙 python

借助這筆資金,LambdaTest計(jì)劃推進(jìn)KaneAI,推出AI原生QA代理即服務(wù)(AI Native QA Agent-as-a-Service),從而通過(guò)基于AI的洞察、...

關(guān)鍵字: TEST AI AN QUALCOMM
關(guān)閉