feat: initial commit - HJHA game server full source

6 major server modules (PdkFriendServer/GlobalSever/ServerCore/GameModule/GameNetModule) +
game logic (GameFix/GameDAL/ServerData) +
network layer (NetWorkMessage) +
data layer (ObjectModel) +
utilities (MrWu/Core/Config/CloudAPI/dll) +
adapters (zyxAdapter/base)

.NET 8.0 C# solution, 16 projects, 958 source files
This commit is contained in:
2026-07-07 12:02:15 +08:00
commit e9616125ce
958 changed files with 158203 additions and 0 deletions

114
MrWu/IO/ZipCompressHelp.cs Normal file
View File

@ -0,0 +1,114 @@
/* ==============================================================================
* 功能描述ZipCompressHelp
* 创 建 者:徐高庆
* 创建日期2022/10/18 16:26:09
* CLR Version :4.0.30319.42000
* ==============================================================================*/
using System.IO;
using System.IO.Compression;
namespace MrWu.IO
{
/// <summary>
/// ZipCompressHelp
/// </summary>
public class ZipCompressHelp
{
/// <summary>
/// 压缩流
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static byte[] CompressByte(byte[] data)
{
if (data == null || data.Length <= 0) return null;
using (MemoryStream im = new MemoryStream(data))
{
using (MemoryStream om = new MemoryStream())
{
using (DeflateStream com = new DeflateStream(om, CompressionMode.Compress))
{
im.CopyTo(com);
}
return om.ToArray();
}
}
}
/// <summary>
/// 解压流
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static byte[] DecompressByte(byte[] data)
{
if (data == null || data.Length <= 0) return null;
using (var im = new MemoryStream(data))
{
using (var om = new MemoryStream())
{
using (var dcom = new DeflateStream(im, CompressionMode.Decompress))
{
dcom.CopyTo(om);
}
return om.ToArray();
}
}
}
/// <summary>
/// GZip压缩方式
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static byte[] GZipByte(byte[] str)
{
if (str == null) return null;
using (var output = new MemoryStream())
{
using (
var compressor = new Ionic.Zlib.GZipStream(output, Ionic.Zlib.CompressionMode.Compress,
Ionic.Zlib.CompressionLevel.Default))
{
compressor.Write(str, 0, str.Length);
}
return output.ToArray();
}
}
/// <summary>
/// 解压
/// </summary>
public static byte[] GDexZipByte(byte[] str)
{
if (str == null) return null;
using (var xx = new MemoryStream(str))
{
using (var de = new Ionic.Zlib.GZipStream(xx, Ionic.Zlib.CompressionMode.Decompress,
Ionic.Zlib.CompressionLevel.Default))
{
using (var output = new MemoryStream())
{
CopyTo(de, output);
return output.ToArray();
}
}
}
}
static void CopyTo(Stream im, Stream om)
{
if (im == null || om == null) return;
byte[] buffer = new byte[1024 * 1024];
int r;
while ((r = im.Read(buffer, 0, buffer.Length)) > 0)
{
om.Write(buffer, 0, r);
}
}
}
}