thrift 返回 TSocket read 0 bytes 求助!!!!
关键代码(服务器1 start_server.py):
# Server 端对中文字段处理
if isinstance(value, unicode):
value = value.encode("utf8")
setattr(tobj, k, value)
关键代码(服务器2 start_server.py):
# Server 端对中文字段处理
if isinstance(value, unicode):
pass
setattr(tobj, k, value)
这样看可能更清楚:
client主要代码:
client.get_user(1)
操作:
python start_server.py
python client.py
主要现象:
服务器1返回正常数据。
服务器2返回正常数据。
但是,如果机器1用机器2的代码,或者服务器2用服务器1的代码,那么返回:
TSocket read 0 bytes
我的问题:
为什么相同的代码在两台配置相同的机器会出现不同的结果(一个正常一个不正常)?
服务器相关配置:
服务器1:
Ubuntu 14.04.5 LTS
Python 2.7.6
Apache Thrift 版本 Thrift version 0.10.0
服务器2:
Ubuntu 14.04.2 LTS
Python 2.7.6
Apache Thrift version 0.10.0
其它依赖均从requirements.txt安装。
具体内容:
sqlalchemy==1.0.12
MySQL-Python==1.2.5
thrift==0.10.0
顺便附上我的一篇博客内容:thrift中的一些坑。
原来并不是版本问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是因为客户端发过去的字符不一样导致的吧