php - Thrift客户端出现“Could not read/write”问题
伊谢尔伦
伊谢尔伦 2017-04-11 09:45:42
[PHP讨论组]

Php的Thrift客户端调用Java服务端,出现“TSocket: Could not read 4 bytes from XXX.XXX.XXX.XXX:XXX”

Java错误日志:

Php日志:

TSocket: Could not read 4 bytes from XXX.XXX.XXX.XXX:XXX

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(1)
怪我咯

如果服务端出现以下信息:

Read a frame size of 41165, which is bigger than the maximum allowable buffer...

则应修改Thrift服务端协议配置(限制消息长度)。

args.transportFactory(new TFramedTransport.Factory(1024 * 1024));
args.maxReadBufferBytes = 1024 * 1024L;

解释:

如果消息长度较小,服务端的队列会导致堵塞,客户端显示连接不上或不能读取等问题(由于Thrift服务端会将信息放入缓存队列中,服务端会每分钟调用一次请求,然后Thrift抛出异常)。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号