diff --git a/gate/net/kcp_connect_manager.go b/gate/net/kcp_connect_manager.go index 9edb9f33..40a74374 100644 --- a/gate/net/kcp_connect_manager.go +++ b/gate/net/kcp_connect_manager.go @@ -336,7 +336,7 @@ func (k *KcpConnectManager) recvHandle(session *Session) { } recvData := recvBuf[:recvLen] kcpMsgList := make([]*KcpMsg, 0) - DecodeBinToPayload(recvData, session, &kcpMsgList, session.xorKey) + DecodeBinToPayload(recvData, convId, &kcpMsgList, session.xorKey) for _, v := range kcpMsgList { protoMsgList := ProtoDecode(v, k.serverCmdProtoMap, k.clientCmdProtoMap) for _, vv := range protoMsgList { diff --git a/gate/net/kcp_endecode.go b/gate/net/kcp_endecode.go index d793091a..353cda8b 100644 --- a/gate/net/kcp_endecode.go +++ b/gate/net/kcp_endecode.go @@ -31,10 +31,10 @@ type KcpMsg struct { ProtoData []byte } -func DecodeBinToPayload(data []byte, session *Session, kcpMsgList *[]*KcpMsg, xorKey []byte) { +func DecodeBinToPayload(data []byte, convId uint64, kcpMsgList *[]*KcpMsg, xorKey []byte) { // xor解密 endec.Xor(data, xorKey) - DecodeLoop(data, session.conn.GetConv(), kcpMsgList) + DecodeLoop(data, convId, kcpMsgList) return }