TSocket读取0个字节

时间:2016-06-08 06:59:13

标签: python rpc thrift

是的,所以我在本地计算机上实现了("{2}.+?"{2}) 服务器 - 客户端系统的完整Python

否则它会正常工作,直到我尝试从服务器上的一个方法返回一个字符串。

节俭文件

Thrift

它是 service HelloWorld { void ping(), void sayHello(), i32 sayMsg(1:string msg) } ,它在return语句中失败。

server.py

sayMsg

第一次运行 client.py 时,def sayMsg(self, msg): print "sayMsg(" + msg + ")" #This line runs fine return "say " + msg + " from " + str(socket.gethostbyname(socket.gethostname())) 方面也出现错误No handlers could be found for logger "thrift.server.TServer"

从下一次运行开始,此错误消失,但server仍然存在。

我哪里错了?

1 个答案:

答案 0 :(得分:0)

似乎Thrift文件错误,sayMsg返回应该是一个字符串而不是int_32,改变它:

service HelloWorld {
  void ping(),
  void sayHello(),
  string sayMsg(1:string msg)
}

作品。