前天写章节信息和星级宝箱的相关功能的时候写了一个比较大的bug,记录如下,以避免下次再犯同样的错误、
1. 错误原因
相关Handler函数没写返回值
2. ** 错误解析 **
我们服务器对数据包处理过程大概是这样的,首先客户端发过来的包,我们服务器会对这个包进行解析,取出PacketID,然后把剩下的包的内容 作为参数,传递给Execute函数,该函数调用具体的Handler函数处理相关的具体逻辑,handler函数有返回值,然后根据handler的具体的返回值,进行具体的处理,如果是PACKET_EXE_ERROR 则删除改包,断开跟该客户端的链接,如果是PACKET_EXE_CONTINUE 则删除当前这个包,继续下一个循环,如果是PACKET_EXE_NOT_REMOVE一般是用于world的包,一般都不会立刻删掉,等到调用完成则删除。
3. ** 解决办法 **
很简单加上返回值呗
4. ** 反思 **
还是不够认真,比较浮躁,这个毛病得改