- 路由解析中,关于数据包可能产生粘包的处理方式
解包 (数据包(可能有粘包)) -><<包长:16/unsigned, 包内容:包长/binary,剩余包/binary>> = 数据包(可能粘包),<<ProId:16/unsigned, ActionId:16/unsigned,Arg/binary>> = 包内容, %% 解析包协议ID,方法ID,Arg参数{player, login, NewState, OutBin,剩余1} = route_request(ProId,ActionId,Arg,State),% 解包(剩余1 ++ 剩余包).route_request (ProId, Action, Args, _State) ->%% 解析相关参数,调用接口%% 返回{player, 接口名,NewState,OutBin,剩余1}
发表回复