mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-09-27 02:36:14 +00:00
提交Unity 联机Pro
This commit is contained in:
45
JNFrame2/Assets/JNGame/Network/Util/NDataUtil.cs
Normal file
45
JNFrame2/Assets/JNGame/Network/Util/NDataUtil.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using Google.Protobuf;
|
||||
using Plugins.JNGame.Network.Entity;
|
||||
using Plugins.JNGame.Util;
|
||||
|
||||
namespace Plugins.JNGame.Network.Util
|
||||
{
|
||||
// 网络数据工具类 [请求Id*4,处理Id*4,...参数数据*N]
|
||||
public static class NDataUtil
|
||||
{
|
||||
|
||||
// 解析
|
||||
public static JNetParam Parse(byte[] data)
|
||||
{
|
||||
|
||||
return JNetParam.Build(
|
||||
ToUtil.Byte4ToInt(data.Skip(0).Take(4).ToArray()),
|
||||
ToUtil.Byte4ToInt(data.Skip(4).Take(4).ToArray()))
|
||||
.SetByte(data.Skip(8).Take(data.Length - 8).ToArray());
|
||||
|
||||
}
|
||||
|
||||
// 编码
|
||||
public static byte[] Encrypt(JNetParam param)
|
||||
{
|
||||
|
||||
byte[] id = ToUtil.IntToByte4(param.ID);
|
||||
byte[] hId = ToUtil.IntToByte4(param.HId);
|
||||
byte[] data = Array.Empty<byte>();
|
||||
if(param.Data != null)
|
||||
data = param.Data.ToByteArray();
|
||||
|
||||
byte[] datas = new byte[hId.Length+id.Length+data.Length];
|
||||
Array.Copy(id, 0, datas, 0, id.Length);
|
||||
Array.Copy(hId, 0, datas, id.Length, hId.Length);
|
||||
Array.Copy(data, 0, datas, id.Length + hId.Length, data.Length);
|
||||
return datas;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
3
JNFrame2/Assets/JNGame/Network/Util/NDataUtil.cs.meta
Normal file
3
JNFrame2/Assets/JNGame/Network/Util/NDataUtil.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b05544adb2f44b4af8f86b2bc66a035
|
||||
timeCreated: 1706004790
|
Reference in New Issue
Block a user