一、简述
本文将根据创建一个服务器端的基本流程,从make_server和serve方法入手,对Thriftpy如何构建一个服务器进行一个简单的分析
二、服务器端主要代码分析
- make_server方法
从代码中我们可以看出该方法主要分为三部分
- TProcessor初始化
- 服务器套接字初始化(TServerSocket/TSSLServerSocket)
- 创建server对象实例(TThreadedServer)
def make_server(service, handler,
host="localhost", port=9090, unix_socket=None,
proto_factory=TBinaryProtocolFactory(),
trans_factory=TBufferedTransportFactory(),
client_timeout=3000, certfile=None):
processor = TProcessor(service, handler)
if unix_socket:
server_socket = TServerSocket(unix_socket=unix_socket)
if certfile:
warnings.warn("SSL only works with host:port, not unix_socket.")
elif host and port:
if certfile:
server_socket = TSSLServerSocket(
host=host, port=port, client_timeout=client_timeout,
certfile=certfile)