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的定義文件為:
: :
使用ffrpc-py調用echo接口:
HOST = = 10246= ffclient_t(HOST, PORT, 1.5) = ttypes.echo_thrift_in_t(=, req, ret, ( %
ffrpc接口的參數的解釋:
Ffrpc提供了python lib,可以實現py與c++ server的通信,這樣利用python編寫工具、後台都更加方便了。
同時ffrpc將會對於php進行支持,相應的client lib 不久就會開放出來。
Github: https://github.com/fanchy/FFRPC
c++ server 的實現介紹參見上一篇:http://www.cnblogs.com/zhiranok/p/ffrpc_client_server.html