thrift写程序时的小问题定位

在这个公司没像以前用thrift多了,最近有需求,直接撸了一串小代码

   thrift+zk简单来个服务发现+加权的负载均衡+支持客户端长链接复用+支持客户端每一个请求一个长链接(连接池)+简单的实时统计

到了我这年纪,写代码越来越喜欢少debug,尽量在写的时候就能跑起来,剩下的就是压测+调优.

但是是一个小手抖,遇见了个小问题,

问题的描述:

 写完代码跑的时候,总是服务端提示无法解析之类的,凭感觉,我修改了代码就正确了,但是想弄个究竟.我把这个先弄成JSON,毕竟二进制的不好读

日志报错如下:

解决问题想走两种

  1 直接抓包,感觉长度和预期的不正常

     于是请出大神Wireshark+npcap

  

 C4-C0=4,这就是关键

 2 源码分析

再对照代码一看,是当时手一哆嗦,用于扩展

 

我而我错误的代码当时手抖写成了

TFramedTransport的时候在外面弄了一下导致的,一般来说,这个不会出问题,但是上面的代码在flush的时候,是进一步调用transport_flush,于是相当于做了两次TFramedTransport,于是就多出来了4个字节

所以代码改成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值