我自定义了一套协议,采用的TCP传输方式,协议主要作用是判断数据完整及有效性并进行初步处理转换成一个对象提交到ONMESSAGE里面去处理.现在有一个问题,当我在INPUT里面判断出来BUFFER里面的数据帧头是错误的,不符合我的协议规范要求,这时我需要将BUFFER清空并返回0,表示清空缓冲区,不调用DECODE并等待下一帧数据的到达.测试直接设置BUFFER=NULL无效,下一帧数据到达时会加上之前错误的数据,如果RETURN整个数据的长度又会触发DECODE及ONMESSAGE,这样我需要在后面两个回调里面再次去判断有效性,有点浪费资源.我希望数据到DECODE就已经是有保证的有效性的数据,不知道这个有什么好的解决办法?