Update NetworkChannelHelper.cs

This commit is contained in:
ALEXTANG
2023-05-20 11:01:33 +08:00
parent 0890ca9bdb
commit a9542646c1

View File

@@ -102,10 +102,11 @@ namespace GameLogic
/// <returns>反序列化后的消息包头。</returns> /// <returns>反序列化后的消息包头。</returns>
public IPacketHeader DeserializePacketHeader(Stream source, out object customErrorData) public IPacketHeader DeserializePacketHeader(Stream source, out object customErrorData)
{ {
// TODO
// 注意:此函数并不在主线程调用! // 注意:此函数并不在主线程调用!
customErrorData = null; customErrorData = null;
return null; //(IPacketHeader)RuntimeTypeModel.Default.Deserialize(source, MemoryPool.Acquire<PacketHeader>(), typeof(PacketHeader)); PacketHeader packetHeader = MemoryPool.Acquire<PacketHeader>();
packetHeader.PacketLength = ((MemoryStream)source).GetBuffer()[0];
return packetHeader;
} }
/// <summary> /// <summary>
@@ -130,14 +131,14 @@ namespace GameLogic
CSPkg csPkg = null; CSPkg csPkg = null;
if (scPacketHeader.IsValid) if (scPacketHeader.IsValid)
{ {
Type packetType = GetServerToClientPacketType(scPacketHeader.Id); try
if (packetType != null)
{ {
csPkg = global::ProtobufUtility.Deserialize<CSPkg>(((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 else