From a9542646c1aed26c620b59d859680884939ba477 Mon Sep 17 00:00:00 2001
From: ALEXTANG <574809918@qq.com>
Date: Sat, 20 May 2023 11:01:33 +0800
Subject: [PATCH] Update NetworkChannelHelper.cs
---
.../GameLogic/Network/NetworkChannelHelper.cs | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/Assets/GameScripts/HotFix/GameLogic/Network/NetworkChannelHelper.cs b/Assets/GameScripts/HotFix/GameLogic/Network/NetworkChannelHelper.cs
index 8bddc4af..f3c74efc 100644
--- a/Assets/GameScripts/HotFix/GameLogic/Network/NetworkChannelHelper.cs
+++ b/Assets/GameScripts/HotFix/GameLogic/Network/NetworkChannelHelper.cs
@@ -102,10 +102,11 @@ namespace GameLogic
/// 反序列化后的消息包头。
public IPacketHeader DeserializePacketHeader(Stream source, out object customErrorData)
{
- // TODO
// 注意:此函数并不在主线程调用!
customErrorData = null;
- return null; //(IPacketHeader)RuntimeTypeModel.Default.Deserialize(source, MemoryPool.Acquire(), typeof(PacketHeader));
+ PacketHeader packetHeader = MemoryPool.Acquire();
+ packetHeader.PacketLength = ((MemoryStream)source).GetBuffer()[0];
+ return packetHeader;
}
///
@@ -130,14 +131,14 @@ namespace GameLogic
CSPkg csPkg = null;
if (scPacketHeader.IsValid)
{
- Type packetType = GetServerToClientPacketType(scPacketHeader.Id);
- if (packetType != null)
+ try
{
- csPkg = global::ProtobufUtility.Deserialize(((MemoryStream)source).GetBuffer());;
+ csPkg = global::ProtobufUtility.Deserialize(((MemoryStream)source).GetBuffer(),0,scPacketHeader.PacketLength);
+ Log.Debug("[s-c] CmdId[{0}]\n{1}", csPkg.Head.MsgId, csPkg.ToString());
}
- else
+ catch (Exception e)
{
- Log.Warning("Can not deserialize packet for packet id '{0}'.", scPacketHeader.Id.ToString());
+ Log.Warning(e);
}
}
else