FFrpc python客戶端lib使用解析

2022-09-29 17:54:16 字數 1241 閱讀 6485

摘要:

ffrpc可以很方便的構建c++ server, 在網遊伺服器程式開發中,程序間通訊非常的重要,比如gateserver和gameserver或dbserver之間的通訊。而ffrpc可以使得程序間通訊非常簡單,是由於ffrpc的broker模式封裝了位置無關性,使得如gate呼叫gameserver的介面只需要知道對方的服務名,從而使得程式中各個節點的關係與系統的拓撲關係是完美吻合的。這也使得系統的架構更加清晰,系統的實現更健壯和易維護。

之前ffrpc只提供了c++ server/client的實現,在網遊伺服器程式開發中經常有些需求是需要其他語言和c++server通訊的,比如一些工具程式,一些web配置、管理後台登通常用指令碼語言實現更加敏捷。比如開發乙個gm後台,就可以使用python開發乙個web頁面實現,而gm後台指令需要發給c++ server去執行。所以,指令碼語言對於c++ server的的介面呼叫的需求是確實存在的。所以ffrpc中提供python的客戶端禮庫ffrpc-py。

特性示例

本例採用c++ sever thrift作為示例。由於ffrpc example目錄的tutorial已經實現了乙個c++ echo server,本例就利用ffrpc-py呼叫echo介面。

其中thrift的定義檔案為:

struct echo_thrift_in_t

struct echo_thrift_out_t

使用ffrpc-py呼叫echo介面:

host = '127.0.0.1'

port = 10246

ffc = ffclient_t(host, port, 1.5) # 1.5 sec為呼叫超時時間

req = ttypes.echo_thrift_in_t('ohnice')

ret = ttypes.echo_thrift_out_t()

ffc.call('echo', req, ret, 'ff')

print('error_info = %s' %(ffc.error_msg()), ret)

ffrpc介面的引數的解釋:

總結ffrpc提供了python lib,可以實現py與c++ server的通訊,這樣利用pytho程式設計客棧n編寫工具、後台都更加方便了。

同時ffrpc將會對於php進行支援,相應的client lib 不久就會開放出來。

github: 

c++ server 的實現介紹參見:

本文標題: ffrpc python客戶端lib使用解析

本文位址:

瘦客戶端 胖客戶端 智慧型客戶端

胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...

胖客戶端 瘦客戶端和富客戶端

以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...

非同步客戶端和同步客戶端

先寫下我的理解,方便後邊閱讀資料校驗。一 同步客戶端 比如乙個連線有兩個請求,請求1 和 請求2,請求1 先發起請求,請求2後發起請求,則請求2 要等待請求1 響應完成才能接收到響應。舉個棗子,httpclient 傳送get請求,執行緒會一致阻塞,直到有響應結果。二 非同步客戶端 比如乙個連線有兩...