protostuff 是什么就不多说了,前段时间用来做通信的序列号模块
直入主题,
就是关于probuff 不支持的格式的字段,例如Date
通信的时候,客户端反序列化报错
异常信息也没办法google出一个结果来
我反复查看是否字节解析错误,是否粘包没处理好,但是没发现问题.
然后我把服务端序列化的字节存储起来,在服务端上直接反序列化 结果还是一样的错误!!!!WTF
万念俱灰之下,我开始考虑类里面定义的常量是否影响结果
最后我想起probuff部分类型是不支持的,例如 Date
再想起实体里面有Date 类型的属性.立马删除测试.
结果还是不行!project 也记得 clean了. 然后所有project clean之后再测试,结果 OK!
这里,首先我得承认对probuff的认识不够深刻,
然后我想对
protostuff 说:你tmd 在生成Schema的时候检测下会死啊!!
不支持的字段你提示一下会死啊!!!!!!!!!!!!!!!!!
写完bolg 继续测试,结果发现 报错了,第二天再测试 结果注意到了1个情况!!
因为习惯copy 序列化用的是 ProtostuffIOUtil , 反序列化用的是 ProtobufIOUtil
ProtostuffIOUtil 和 ProtobufIOUtil !!!!!!!!!!!! 我一直以为 protostuff 只是一个 protobuff的序列化工具
居然 2个可能序列化 方式不同! 导致了 ProtostuffIOUtil 生成的byte 不能用 ProtobufIOUtil 反序列化!!!!!!!!!!!!!!!!!!
我现在想知道 protostuff方式 序列化的东西 能不能在 其他客户端使用!因为 protostuff 是java的, 大概没有其他端
如果利用protostuff的性能优势,扩展性会受到限制, 以后再说吧
OMG,程序员大部分时间都浪费在这种 粗心大意的事情上了
相关推荐
软件测试十大典型低级错误
JAVA十大低级错误JAVA十大低级错误JAVA十大低级错误
测试典型低级错误
告别低级错误,让您的编码水平更上一层楼 告别低级错误,让您的编码水平更上一层楼
Java十大低级错误
java十大低级错误详解和案例,灰常不错哦!!
2. 图表篇选择图表错误:选择合适的图表类型,例如,条形图用于比较两个变量,而不是求二者总和。 3. 图表篇数据排序错误:确保数据按照大小顺序、字母顺序或者价值顺序排列,不要让数据排序混乱。 4. 图表篇确保...
C++十大低级错误和C++编程规范,很有用的,有助于开发
审计报告中的11个低级错误,千万别犯!.docx
华为常见C、C++软件编程低级错误:变量 C和C++语言是我司的主流编程语言,然而C/C++具有很多强大的语言特性,从而导致C/C++非常复杂,使得代码更容易出现BUG、难以阅读和维护。
java编程中需要竭力避免的10大低级错误,否则要被同行看扁了
本人从网络以及个人所总结的PCB设计低级错误综析文档,记录了一些较为常犯的错误,可供参考参考。如有不正确之处,望不吝赐教。
IEEE754 to DSP(VC33)(64位转40位) 改进版算法,解决实际转换过程中最后一位多1或者少1的问题 (PS:该资源更正了之前文档里的一处低级错误)
Java十大低级错误,一般容易犯的错误,以及解决方法
一个关于数组越界、字典key与value为nil情况下导致的低级错误的线上Crash的避免的仓库
C和C++语言是我司的主流编程语言,然而C/C++具有很多强大的语言特性,从而导致C/C++非常复杂,使得代码更容易出现BUG、难以阅读和维护。
c语言常犯低级错误收集.pdf
企业基础架构AD管理的两个低级错误;一般人都不会注意到的细节问题。
软件编程低级错误变量PPT学习教案.pptx