Thrift使用
1、 安装thrift的python库
Pip install thrift
2. 安装 Thrift 的 IDL 编译工具
Windows:
从官网上下载 windows 版的 thrift.exe:http://archive.apache.org/dist/thrift/0.9.3/ (我这里用的是0.9.3版本)
Linux:
Mac:
3、定义一个.thrift格式的文件,如test.thrift
service Transmit {
string sayMsg(1:string msg);
string invoke(1:i32 cmd 2:string token 3:string data)
}
4、然后运行命令thrift-0.9.3.exe -gen py test.thrift 生成 python 代码
5、编辑服务器端代码
import json
import threading
from test import Transmit
from test.ttypes import *
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from thrift.server import TServer
import socket
class TransmitHandler:
def __init__(self):
self.log = {
}
def sayMsg(self, msg):
msg = json.loads(msg)
print(threading.get_ident())
print("sayMsg(" + msg + ")")
return "say " + msg + " from " + socket.gethostbyname(socket.gethostname())
def invoke(self, cmd, token, data):
cmd