【问题标题】:TSocket read 0 bytesTSocket 读取 0 个字节
【发布时间】:2016-10-08 07:11:48
【问题描述】:

好的,所以我在本地机器上有一个完整的Python 实现Thrift 服务器-客户端系统。

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

Thrift 文件

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

sayMsg 在 return 语句中失败。

server.py

def sayMsg(self, msg):
    print "sayMsg(" + msg + ")" #This line runs fine
    return "say " + msg + " from " + str(socket.gethostbyname(socket.gethostname()))

当我第一次运行 client.py 时,我在server 端也收到了一个错误No handlers could be found for logger "thrift.server.TServer"

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

我哪里错了?

【问题讨论】:

  • 这个问题还有意义吗?

标签: python rpc thrift


【解决方案1】:

似乎 Thrift 文件错误,sayMsg 返回的应该是字符串而不是 int_32,改一下吧:

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

有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-15
    • 2019-04-23
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多