thrift编写服务端 客户端

1 编写 thrift文件

文件名

helloworld.thrift

HelloWorld {
    ping()say(:msg)
}


使用命令 thrift --gen py hellowrold.thrift生成基础文件

生成结果目录格式如下

thrift.png


server.py


sys
sys.path.insert()
sys.path

helloworld HelloWorld
helloworld.ttypes *

thrift.transport TSocket
thrift.transport TTransport
thrift.protocol TBinaryProtocol
thrift.server TServer

HelloWorldHandler:
  ():
    (msg):
    ret = + msg
    ret
    ret

handler = HelloWorldHandler()
processor = HelloWorld.Processor(handler)
transport = TSocket.TServerSocket()
tfactory = TTransport.TBufferedTransportFactory()
pfactory = TBinaryProtocol.TBinaryProtocolFactory()

server = TServer.TSimpleServer(processortransporttfactorypfactory)

server.serve()



client.py


sys
sys.path.insert()

helloworld HelloWorld

thrift Thrift
thrift.transport TSocket
thrift.transport TTransport
thrift.protocol TBinaryProtocol

:
  transport = TSocket.TSocket()
  transport = TTransport.TBufferedTransport(transport)
  protocol = TBinaryProtocol.TBinaryProtocol(transport)
  client = HelloWorld.Client(protocol)
  transport.open()
  msg = client.say()
  + msg

  transport.close()

Thrift.TExceptionex:
  % (ex.message)


启动server clien

python server.py

python client.py

猜你喜欢

转载自blog.51cto.com/chenxiaolong/2174912