上節咱們介紹了基於Thrift實現java與java的RPC調用,本節咱們基於Thrift實現Java與Python的RPC調用java
首先,修改data.thirft文件,將命名空間由java改成py python
namespace py thrift.generated
而後打開終端,輸入命令 thrift --gen py src/thrift/data.thrift 生成Python代碼spring
打開Pycharm,新建Pure Python項目,將在idea中生成的python文件拷貝至Pycharm中springboot
編寫python客戶端程序py_client.pyide
# -*- coding:utf-8 -*- from py.generated import PersonService, ttypes __author__ = 'kpzhang' from thrift import Thrift from thrift.transport import TSocket from thrift.transport import TTransport from thrift.protocol import TCompactProtocol try: tSocket = TSocket.TSocket("localhost", 8899) tSocket.setTimeout(900) transport = TTransport.TFramedTransport(tSocket) protocol = TCompactProtocol.TCompactProtocol(transport) client = PersonService.Client(protocol) transport.open() person = client.getPersonByUsername("張三") print(person.username) print(person.age) print(person.married) print('---------------------') newPerson = ttypes.Person(); newPerson.username = "李四" newPerson.age = 30 newPerson.married = True client.savePerson(newPerson) transport.close() except Thrift.TException as tx: print('%s' % tx.message)
分別啓動java服務端和Python客戶端,查看演示效果,(java端效果和上節效果同樣,這裏再也不截圖)idea
本節咱們介紹了基於Thrift實現Java與Python的RPC調用,下節咱們結合netty4+springboot來作一個小項目spa