Bläddra i källkod

添加服务器

DESKTOP-FB72PO8\Administrator 3 månader sedan
förälder
incheckning
b0539a0e09
100 ändrade filer med 1461 tillägg och 92 borttagningar
  1. 3 1
      Assets/Scripts/GameLogic/Fort23.GameLogic.asmdef
  2. 8 0
      Assets/Scripts/GameLogic/NetworkClient.meta
  3. 29 0
      Assets/Scripts/GameLogic/NetworkClient/ClientMemoryWrap.cs
  4. 11 0
      Assets/Scripts/GameLogic/NetworkClient/ClientMemoryWrap.cs.meta
  5. 106 0
      Assets/Scripts/GameLogic/NetworkClient/GameNetworkClient.cs
  6. 3 0
      Assets/Scripts/GameLogic/NetworkClient/GameNetworkClient.cs.meta
  7. 40 0
      Assets/Scripts/GameLogic/NetworkClient/GameNetworkSendAssemble.cs
  8. 3 0
      Assets/Scripts/GameLogic/NetworkClient/GameNetworkSendAssemble.cs.meta
  9. 11 0
      Assets/Scripts/GameLogic/NetworkClient/SendRequestBuffer.cs
  10. 3 0
      Assets/Scripts/GameLogic/NetworkClient/SendRequestBuffer.cs.meta
  11. 2 1
      Assets/Scripts/GameUI/Fort23.Mono.asmdef
  12. 15 0
      Assets/Scripts/GameUI/GameApplction.cs
  13. 3 2
      Assets/Scripts/NetCore/NetCoreBasic/IConnection.cs
  14. 12 2
      Assets/Scripts/NetCore/TCPClient/TCPClient.cs
  15. 8 1
      Assets/Scripts/Protocol/MemoryPack/MemoryMessage/MemoryRequest.cs
  16. 86 3
      Assets/Scripts/Protocol/MemoryPack/MemoryMessage/MemoryResponse.cs
  17. 8 0
      Assets/Scripts/Protocol/MemoryPack/MemoryMessage/RespomseType.cs
  18. 3 0
      Assets/Scripts/Protocol/MemoryPack/MemoryMessage/RespomseType.cs.meta
  19. 9 0
      Assets/Scripts/Protocol/MemoryPack/MemoryMessage/ServerType.cs
  20. 11 0
      Assets/Scripts/Protocol/MemoryPack/MemoryMessage/ServerType.cs.meta
  21. 0 0
      Assets/StreamingAssets/assetConfig.txt
  22. 1 1
      NetServer/GameServer/ServerLogic/GameLogicBasic.cs
  23. 1 1
      NetServer/GameServer/ServerLogic/LogicManager.cs
  24. 62 4
      NetServer/GameServer/ServerLogic/Login/LoginLogic.cs
  25. 71 13
      NetServer/GameServer/bin/Debug/net7.0/GameServer.deps.json
  26. BIN
      NetServer/GameServer/bin/Debug/net7.0/GameServer.dll
  27. BIN
      NetServer/GameServer/bin/Debug/net7.0/GameServer.exe
  28. BIN
      NetServer/GameServer/bin/Debug/net7.0/GameServer.pdb
  29. BIN
      NetServer/GameServer/bin/Debug/net7.0/LitJSON.dll
  30. 63 0
      NetServer/GameServer/bin/Debug/net7.0/NLog.config
  31. BIN
      NetServer/GameServer/bin/Debug/net7.0/NLog.dll
  32. BIN
      NetServer/GameServer/bin/Debug/net7.0/NetCore.dll
  33. BIN
      NetServer/GameServer/bin/Debug/net7.0/NetCore.pdb
  34. BIN
      NetServer/GameServer/bin/Debug/net7.0/NetServerCore.dll
  35. BIN
      NetServer/GameServer/bin/Debug/net7.0/NetServerCore.pdb
  36. BIN
      NetServer/GameServer/bin/Debug/net7.0/Protocol.dll
  37. BIN
      NetServer/GameServer/bin/Debug/net7.0/Protocol.pdb
  38. BIN
      NetServer/GameServer/bin/Debug/net7.0/UnityLibrary.dll
  39. BIN
      NetServer/GameServer/bin/Debug/net7.0/UnityLibrary.pdb
  40. 0 0
      NetServer/NetClientCore/ClientLogic/ClientMemoryWrap.cs
  41. 17 17
      NetServer/NetClientCore/ClientLogic/ClientTest.cs
  42. 0 0
      NetServer/NetClientCore/ClientLogic/ClientTestLogicalParsing.cs
  43. 3 2
      NetServer/NetCore/NetCoreBasic/IConnection.cs
  44. 12 2
      NetServer/NetCore/TCPClient/TCPClient.cs
  45. 63 0
      NetServer/NetCore/bin/Debug/net7.0/NLog.config
  46. 144 0
      NetServer/NetCore/bin/Debug/net7.0/NetCore.deps.json
  47. BIN
      NetServer/NetCore/bin/Debug/net7.0/NetCore.dll
  48. BIN
      NetServer/NetCore/bin/Debug/net7.0/NetCore.pdb
  49. BIN
      NetServer/NetCore/bin/Debug/net7.0/Protocol.dll
  50. BIN
      NetServer/NetCore/bin/Debug/net7.0/Protocol.pdb
  51. BIN
      NetServer/NetCore/bin/Debug/net7.0/UnityLibrary.dll
  52. BIN
      NetServer/NetCore/bin/Debug/net7.0/UnityLibrary.pdb
  53. 0 7
      NetServer/NetServerCore/InternalProtocol/ServerType.cs
  54. 32 3
      NetServer/NetServerCore/MongoDB/DBData/PlayerData.cs
  55. 19 0
      NetServer/NetServerCore/MongoDB/DBData/PlayerEquipData.cs
  56. 4 1
      NetServer/NetServerCore/MongoDB/DBData/PlayerHero.cs
  57. 19 0
      NetServer/NetServerCore/MongoDB/DBData/PlayerItemData.cs
  58. 1 0
      NetServer/NetServerCore/MongoDB/DBLink.cs
  59. 8 3
      NetServer/NetServerCore/MongoDB/PlayerDataLink.cs
  60. 63 0
      NetServer/NetServerCore/bin/Debug/net7.0/NLog.config
  61. BIN
      NetServer/NetServerCore/bin/Debug/net7.0/NetCore.dll
  62. BIN
      NetServer/NetServerCore/bin/Debug/net7.0/NetCore.pdb
  63. 70 9
      NetServer/NetServerCore/bin/Debug/net7.0/NetServerCore.deps.json
  64. BIN
      NetServer/NetServerCore/bin/Debug/net7.0/NetServerCore.dll
  65. BIN
      NetServer/NetServerCore/bin/Debug/net7.0/NetServerCore.pdb
  66. BIN
      NetServer/NetServerCore/bin/Debug/net7.0/Protocol.dll
  67. BIN
      NetServer/NetServerCore/bin/Debug/net7.0/Protocol.pdb
  68. BIN
      NetServer/NetServerCore/bin/Debug/net7.0/UnityLibrary.dll
  69. BIN
      NetServer/NetServerCore/bin/Debug/net7.0/UnityLibrary.pdb
  70. 8 1
      NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/MemoryRequest.cs
  71. 86 3
      NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/MemoryResponse.cs
  72. 8 0
      NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/RespomseType.cs
  73. 3 0
      NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/RespomseType.cs.meta
  74. 9 0
      NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/ServerType.cs
  75. 11 0
      NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/ServerType.cs.meta
  76. 63 0
      NetServer/Protocol/bin/Debug/net7.0/NLog.config
  77. 69 2
      NetServer/Protocol/bin/Debug/net7.0/Protocol.deps.json
  78. BIN
      NetServer/Protocol/bin/Debug/net7.0/Protocol.dll
  79. BIN
      NetServer/Protocol/bin/Debug/net7.0/Protocol.pdb
  80. BIN
      NetServer/Protocol/bin/Debug/net7.0/UnityLibrary.dll
  81. BIN
      NetServer/Protocol/bin/Debug/net7.0/UnityLibrary.pdb
  82. 2 0
      NetServer/TransitServer/PublicServer/PublicLogicManager.cs
  83. BIN
      NetServer/TransitServer/bin/Debug/net7.0/LitJSON.dll
  84. 63 0
      NetServer/TransitServer/bin/Debug/net7.0/NLog.config
  85. BIN
      NetServer/TransitServer/bin/Debug/net7.0/NLog.dll
  86. BIN
      NetServer/TransitServer/bin/Debug/net7.0/NetCore.dll
  87. BIN
      NetServer/TransitServer/bin/Debug/net7.0/NetCore.pdb
  88. BIN
      NetServer/TransitServer/bin/Debug/net7.0/NetServerCore.dll
  89. BIN
      NetServer/TransitServer/bin/Debug/net7.0/NetServerCore.pdb
  90. BIN
      NetServer/TransitServer/bin/Debug/net7.0/Protocol.dll
  91. BIN
      NetServer/TransitServer/bin/Debug/net7.0/Protocol.pdb
  92. 71 13
      NetServer/TransitServer/bin/Debug/net7.0/TransitServer.deps.json
  93. BIN
      NetServer/TransitServer/bin/Debug/net7.0/TransitServer.dll
  94. BIN
      NetServer/TransitServer/bin/Debug/net7.0/TransitServer.exe
  95. BIN
      NetServer/TransitServer/bin/Debug/net7.0/TransitServer.pdb
  96. BIN
      NetServer/TransitServer/bin/Debug/net7.0/UnityLibrary.dll
  97. BIN
      NetServer/TransitServer/bin/Debug/net7.0/UnityLibrary.pdb
  98. 36 0
      NetServer/TransitServer/bin/Debug/net7.0/error/2025-02-05_31252.txt
  99. 3 0
      NetServer/TransitServer/bin/Debug/net7.0/info/2025-02-05_15248.txt
  100. 2 0
      NetServer/TransitServer/bin/Debug/net7.0/info/2025-02-05_31456.txt

+ 3 - 1
Assets/Scripts/GameLogic/Fort23.GameLogic.asmdef

@@ -10,7 +10,9 @@
         "GUID:fdb14afa911c65e4982db867bfd7afce",
         "GUID:d8b63aba1907145bea998dd612889d6b",
         "GUID:5efd170ecd8084500bed5692932fe14e",
-        "PotingSkd"
+        "PotingSkd",
+        "Protocol",
+        "NetCoreBasic"
     ],
     "includePlatforms": [],
     "excludePlatforms": [],

+ 8 - 0
Assets/Scripts/GameLogic/NetworkClient.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DS9L4SurVnkhIsYzRSVROK8vQLEgO63egJAYgOtrdq0fxQXhIvVhvm0=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 29 - 0
Assets/Scripts/GameLogic/NetworkClient/ClientMemoryWrap.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using MemoryPack;
+using NetCore.Protocol;
+using NetCore.Protocol.MemoryPack;
+using Protocol.Protocol.MemoryPack.MemoryMessage;
+using UnityEngine;
+
+public class ClientMemoryWrap : IProtocol
+{
+    public object Deserialize(byte[] data)
+    {
+        MemoryResponse serialize = MemoryPackSerializer.Deserialize<MemoryResponse>(data);
+        return serialize;
+    }
+
+    public byte[] Serialize(object serializeObject)
+    {
+        MemoryRequest serialize = serializeObject as MemoryRequest;
+        byte[] data = MemoryPackSerializer.Serialize(serialize);
+        byte[] sendType = BitConverter.GetBytes((int)ServerType.GameServer);
+        byte[] sendData = new byte[data.Length + sendType.Length];
+
+        Array.Copy(sendType, 0, sendData, 0, sendType.Length);
+        Array.Copy(data, 0, sendData, 4, data.Length);
+        return sendData;
+    }
+}

+ 11 - 0
Assets/Scripts/GameLogic/NetworkClient/ClientMemoryWrap.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ByhKvCKuVn8HHLYDHutJ1WN/vc3R7hAfkqWClsUUp2AP8UEYDop5WRQ=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 106 - 0
Assets/Scripts/GameLogic/NetworkClient/GameNetworkClient.cs

@@ -0,0 +1,106 @@
+using System;
+using System.Collections.Generic;
+using Fort23.Core;
+using Fort23.UTool;
+using NetClientCore.TCP;
+using NetCore;
+using NetCore.ContentParse;
+using NetCore.Protocol;
+using NetCore.Protocol.MemoryPack;
+using Protocol.MemoryPack.MemoryMessage;
+using Protocol.Protocol.MemoryPack.MemoryMessage;
+using Utility;
+
+namespace GameLogic.NetworkClient
+{
+    public class GameNetworkClient : Singleton<GameNetworkClient>, ILogicalParsing
+    {
+        private IConnection _connection;
+
+        private Queue<SendRequestBuffer> _sendRequestBuffers = new Queue<SendRequestBuffer>();
+        private SendRequestBuffer _currSendRequestBuffer;
+
+        private Queue<MemoryResponse> _acceptRequestBuffers = new Queue<MemoryResponse>();
+        public async CTask Connect(string ip, int port)
+        {
+            TCPClient<ByteParse, ClientMemoryWrap> tcpClient = new TCPClient<ByteParse, ClientMemoryWrap>();
+
+            await tcpClient.Connect(ip, port, this);
+            _connection = tcpClient;
+            StaticUpdater.Instance.AddRenderUpdateCallBack(Update);
+        }
+
+
+        public void Logic(object data, IConnection iConnection)
+        {
+            var memoryResponse = data as MemoryResponse;
+            _acceptRequestBuffers.Enqueue(memoryResponse);
+        }
+
+
+        public void SendToServer(SendRequestBuffer sendRequestBuffer)
+        {
+            if (_currSendRequestBuffer == null)
+            {
+                Send(sendRequestBuffer);
+            }
+            else
+            {
+                _sendRequestBuffers.Enqueue(sendRequestBuffer);
+            }
+        }
+
+        private void Send(SendRequestBuffer sendRequestBuffer)
+        {
+            _currSendRequestBuffer = sendRequestBuffer;
+            _connection.SendData(sendRequestBuffer.MemoryRequest);
+        }
+
+        public void Update()
+        {
+            if (_currSendRequestBuffer == null && _sendRequestBuffers.Count > 0)
+            {
+                _currSendRequestBuffer = _sendRequestBuffers.Dequeue();
+                Send(_currSendRequestBuffer);
+            }
+            
+            while (_acceptRequestBuffers.Count > 0)
+            {
+                var memoryResponse = _acceptRequestBuffers.Dequeue();
+                if (memoryResponse.RespomseType == RespomseType.Respomse)
+                {
+                    try
+                    {
+                        if (_currSendRequestBuffer != null&&memoryResponse.GameSendType==_currSendRequestBuffer.MemoryRequest.GameSendType)
+                        {
+                            SendRequestBuffer sendRequestBuffer = _currSendRequestBuffer;
+                            _currSendRequestBuffer = null;
+                            sendRequestBuffer.callBack?.Invoke(memoryResponse);
+                        }
+                    }
+                    catch (Exception e)
+                    {
+                       LogTool.Error(e);
+                    }
+                }
+            }
+            
+        }
+
+        protected override void ProDispose()
+        {
+            _currSendRequestBuffer = null;
+            _sendRequestBuffers.Clear();
+            StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
+            _connection.Dispose();
+        }
+
+        public void AddConnection(IConnection iConnection)
+        {
+        }
+
+        public void RemoveConnection(IConnection iConnection)
+        {
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/NetworkClient/GameNetworkClient.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: df5ff97c1a07425d826866b97b856ae7
+timeCreated: 1738725012

+ 40 - 0
Assets/Scripts/GameLogic/NetworkClient/GameNetworkSendAssemble.cs

@@ -0,0 +1,40 @@
+using Fort23.Core;
+using NetCore.Protocol.MemoryPack;
+using Protocol.Protocol.MemoryPack.MemoryMessage;
+
+namespace GameLogic.NetworkClient
+{
+    public static class GameNetworkSendAssemble
+    {
+        public static async CTask<MemoryResponse> SendToServer(MemoryRequest memoryRequest,
+            System.Action<MemoryResponse> callBack)
+        {
+            MemoryResponse memoryResponse = null;
+            CTask task = CTask.Create(false);
+            SendRequestBuffer sendRequestBuffer = new SendRequestBuffer();
+            sendRequestBuffer.MemoryRequest = memoryRequest;
+            sendRequestBuffer.callBack = delegate(MemoryResponse response)
+            {
+                memoryResponse = response;
+                task.SetResult();
+                callBack?.Invoke(response);
+            };
+            GameNetworkClient.Instance.SendToServer(sendRequestBuffer);
+            await task;
+            return memoryResponse;
+        }
+
+        /// <summary>
+        /// 登录
+        /// </summary>
+        public static async CTask<MemoryResponse> SendLogin(string account, string password)
+        {
+            MemoryRequest memoryRequest = new MemoryRequest();
+            memoryRequest.GameSendType = GameSendType.Login;
+            memoryRequest.LoginRequest = new LoginRequest();
+            memoryRequest.LoginRequest.account = account;
+            memoryRequest.LoginRequest.password = password;
+            return await SendToServer(memoryRequest, null);
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/NetworkClient/GameNetworkSendAssemble.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 8f03bb8bc8384526b6ec8cbebf0b7379
+timeCreated: 1738726445

+ 11 - 0
Assets/Scripts/GameLogic/NetworkClient/SendRequestBuffer.cs

@@ -0,0 +1,11 @@
+using NetCore.Protocol.MemoryPack;
+using Protocol.Protocol.MemoryPack.MemoryMessage;
+
+namespace GameLogic.NetworkClient
+{
+    public class SendRequestBuffer
+    {
+        public MemoryRequest MemoryRequest;
+        public System.Action<MemoryResponse> callBack;
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/NetworkClient/SendRequestBuffer.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 5c63942eefa3464eb292d887d8b9d1a7
+timeCreated: 1738725857

+ 2 - 1
Assets/Scripts/GameUI/Fort23.Mono.asmdef

@@ -14,7 +14,8 @@
         "GUID:5efd170ecd8084500bed5692932fe14e",
         "GUID:4c25c05f410a3a447a75c3b0909152ef",
         "GUID:c03a7518d60db354c9d04ea9d1517aa1",
-        "GUID:097df4f93bd329c408144db3d97c0d92"
+        "GUID:097df4f93bd329c408144db3d97c0d92",
+        "Protocol"
     ],
     "includePlatforms": [],
     "excludePlatforms": [],

+ 15 - 0
Assets/Scripts/GameUI/GameApplction.cs

@@ -9,7 +9,9 @@ using GameLogic.Combat;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.CombatType;
 using GameLogic.CombatScenesTool;
+using GameLogic.NetworkClient;
 using GameUI;
+using NetCore.Protocol.MemoryPack;
 #if UNITY_EDITOR
 using UnityEditor;
 #endif
@@ -97,6 +99,19 @@ public class GameApplction : IGameStart
         await UIManager.Instance.InitUI();
         CustomTweenManager.Init();
 
+        // await GameNetworkClient.Instance.Connect("127.0.0.1", 1000);
+        await Login();
+    }
+
+    private async CTask Login()
+    {
+        // MemoryResponse memoryResponse = await GameNetworkSendAssemble.SendLogin("123", "123");
+        // if (memoryResponse == null)
+        // {
+        //     LogTool.Error("登陆失败");
+        //     return;
+        // }
+
         PlayerManager.Instance.Init();
         // PlayerManager.Instance.InitTestHero();
         //主UI加载

+ 3 - 2
Assets/Scripts/NetCore/NetCoreBasic/IConnection.cs

@@ -1,10 +1,11 @@
-using NetCore.ContentParse;
+using System;
+using NetCore.ContentParse;
 using NetCore.NetServerCoreBasic;
 using NetCore.Protocol;
 
 namespace NetCore
 {
-    public interface IConnection : INetContainer
+    public interface IConnection : INetContainer,IDisposable
     {
         long ConnectionId { get; set; }
         void SendData(object sendData);

+ 12 - 2
Assets/Scripts/NetCore/TCPClient/TCPClient.cs

@@ -11,7 +11,6 @@ using NetCore.Protocol;
 
 namespace NetClientCore.TCP
 {
-
     public class TCPClient<T, K> : IContentReceiver, IConnection
         where T : IContentParse where K : IProtocol
     {
@@ -108,7 +107,6 @@ namespace NetClientCore.TCP
         }
 
 
-
         public void SendData(object sendData)
         {
             byte[] data = iProtocol.Serialize(sendData);
@@ -125,5 +123,17 @@ namespace NetClientCore.TCP
             byte[] parseData = _iContentParse.AssembleByte(bytes);
             socket.SendAsync(parseData, SocketFlags.None);
         }
+
+        public void Dispose()
+        {
+            socket?.Dispose();
+            socket?.Close();
+            socket = null;
+            _iContentParse = null;
+            _iProtocol = null;
+            _udpClientThread = null;
+            _heartbeat = null;
+            LogicalParsing = null;
+        }
     }
 }

+ 8 - 1
Assets/Scripts/Protocol/MemoryPack/MemoryMessage/MemoryRequest.cs

@@ -6,6 +6,13 @@ namespace Protocol.Protocol.MemoryPack.MemoryMessage
     public partial class MemoryRequest
     {
         public GameSendType GameSendType;
-        public int count;
+        public LoginRequest LoginRequest;
+    }
+
+    [MemoryPackable]
+    public partial class LoginRequest
+    {
+        public string account;
+        public string password;
     }
 }

+ 86 - 3
Assets/Scripts/Protocol/MemoryPack/MemoryMessage/MemoryResponse.cs

@@ -1,13 +1,96 @@
-using MemoryPack;
+using System.Collections.Generic;
+using MemoryPack;
+using Protocol.MemoryPack.MemoryMessage;
 using Protocol.Protocol.MemoryPack.MemoryMessage;
 
 namespace NetCore.Protocol.MemoryPack
 {
-
     [MemoryPackable]
     public partial class MemoryResponse
     {
         public GameSendType GameSendType;
-        public int count;
+        public RespomseType RespomseType;
+
+        /// <summary>
+        /// 登陆返回的信息
+        /// </summary>
+        public LoginResponse LoginResponse;
+    }
+
+    [MemoryPackable]
+    public partial class LoginResponse
+    {
+        /// <summary>
+        /// 玩家等级
+        /// </summary>
+        public int playerLevel;
+
+        /// <summary>
+        /// 关卡进度
+        /// </summary>
+        public int levelBattleId;
+
+        /// <summary>
+        /// 玩家英雄
+        /// </summary>
+        public List<HeroData> heroDatas;
+
+        /// <summary>
+        /// 玩家道具
+        /// </summary>
+        public List<ItemData> ItemDatas;
+
+        /// <summary>
+        /// 玩家的装备
+        /// </summary>
+        public List<EquipData> EquipDatas;
+    }
+
+    [MemoryPackable]
+    public partial class HeroData
+    {
+        public int heroId;
+        public int heroLevel;
+        public int heroExp;
+        public int heroStar;
+        public List<int> equipID;
+    }
+
+    [MemoryPackable]
+    public partial class ItemData
+    {
+        /// <summary>
+        /// 道具ID
+        /// </summary>
+        public int itemId;
+
+        /// <summary>
+        /// 道具数量
+        /// </summary>
+        public long itemCount;
+
+        /// <summary>
+        /// 道具guid
+        /// </summary>
+        public string guid;
+    }
+
+    [MemoryPackable]
+    public partial class EquipData
+    {
+        /// <summary>
+        /// 道具ID
+        /// </summary>
+        public int itemId;
+
+        public int zyEqId;
+
+        // public int dropLv;
+        public int quality;
+
+        /// <summary>
+        /// 是否穿了(职业装备)
+        /// </summary>
+        public bool isEquip;
     }
 }

+ 8 - 0
Assets/Scripts/Protocol/MemoryPack/MemoryMessage/RespomseType.cs

@@ -0,0 +1,8 @@
+namespace Protocol.MemoryPack.MemoryMessage
+{
+    public enum RespomseType
+    {
+        Respomse,
+        Notify,
+    }
+}

+ 3 - 0
Assets/Scripts/Protocol/MemoryPack/MemoryMessage/RespomseType.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: cb05af2afd534a1bb979322a97cd0bf8
+timeCreated: 1738726078

+ 9 - 0
Assets/Scripts/Protocol/MemoryPack/MemoryMessage/ServerType.cs

@@ -0,0 +1,9 @@
+namespace NetCore.Protocol.MemoryPack
+{
+
+
+    public enum ServerType
+    {
+        GameServer,
+    }
+}

+ 11 - 0
Assets/Scripts/Protocol/MemoryPack/MemoryMessage/ServerType.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: XHkftnj4Vilr8jmoPJt6+Z0AeJ7p93aDuFx1XqMGbwB+KLACtB69UTg=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


+ 1 - 1
NetServer/GameServer/ServerLogic/GameLogicBasic.cs

@@ -16,6 +16,6 @@ public abstract class GameLogicBasic : LogicBaisc<MemoryRequest>
     {
     }
 
-    public abstract void GameLogic(MemoryRequest internalMemoryRequst, IConnection iConnection,
+    public abstract Task GameLogic(MemoryRequest internalMemoryRequst, IConnection iConnection,
         InternalMemoryResponese internalMemoryResponese);
 }

+ 1 - 1
NetServer/GameServer/ServerLogic/LogicManager.cs

@@ -19,7 +19,7 @@ public class LogicManager : LogicManagerBaisc<MemoryRequest>
         logicBaisc.GameLogic(memoryRequest, iConnection, internalMemoryResponese);
     }
 
-    public void SendResponse<MemoryResponse>(MemoryResponse data, InternalMemoryResponese internalMemoryResponese,
+    public void SendResponse (MemoryResponse data, InternalMemoryResponese internalMemoryResponese,
         IConnection iConnection)
     {
         byte[] dataByte = memoryWrap.Serialize(data);

+ 62 - 4
NetServer/GameServer/ServerLogic/Login/LoginLogic.cs

@@ -1,5 +1,8 @@
-using NetCore;
+using MongoDB.Driver;
+using NetCore;
 using NetCore.Protocol.MemoryPack;
+using NetServer.MongoDB;
+using NetServer.MongoDB.DBData;
 using NetServerCore.Attribute;
 using Protocol.Protocol.MemoryPack.MemoryMessage;
 
@@ -8,12 +11,67 @@ namespace NetServer.ServerLogic.Login;
 [LogicEnrollAtt((int)GameSendType.Login, 100)]
 public class LoginLogic : GameLogicBasic
 {
-    public override void GameLogic(MemoryRequest internalMemoryRequst, IConnection iConnection,
+    public override async Task GameLogic(MemoryRequest internalMemoryRequst, IConnection iConnection,
         InternalMemoryResponese internalMemoryResponese)
     {
-        Console.WriteLine("登录成功"+internalMemoryRequst.count);
+        Console.WriteLine("登录成功");
+
+        PlayerData playerData = await PlayerDataLink.PlayerDbLink.FindOneDataAsyncPlayerData(Builders<PlayerData>.Filter
+            .Eq(r => r.account, internalMemoryRequst.LoginRequest.account));
+        if (playerData == null)
+        {
+            playerData = new PlayerData();
+            playerData.account = internalMemoryRequst.LoginRequest.account;
+            playerData.password = internalMemoryRequst.LoginRequest.password;
+            playerData.playerId = System.DateTime.Now.Ticks;
+            playerData.playerLevel = 1;
+            playerData.levelBattleId = 1;
+            playerData.PlayerHero = new List<PlayerHero>();
+            playerData.PlayerHero.Add(new PlayerHero() { heroId = 101, heroLevel = 1 });
+            PlayerDataLink.PlayerDbLink.InsertPlayerData(playerData);
+        }
+
+        LoginResponse loginResponse = new LoginResponse();
+        loginResponse.playerLevel = playerData.playerLevel;
+        loginResponse.levelBattleId = playerData.levelBattleId;
+        loginResponse.heroDatas = new List<HeroData>();
+        for (int i = 0; i < playerData.PlayerHero.Count; i++)
+        {
+            loginResponse.heroDatas.Add(playerData.PlayerHeroToHeroData(playerData.PlayerHero[i]));
+        }
+
+        loginResponse.ItemDatas = new List<ItemData>();
+        if (playerData.PlayerItemDatas != null)
+        {
+            for (int i = 0; i < playerData.PlayerItemDatas.Count; i++)
+            {
+                loginResponse.ItemDatas.Add(new ItemData()
+                {
+                    itemId = playerData.PlayerItemDatas[i].itemId,
+                    itemCount = playerData.PlayerItemDatas[i].itemCount,
+                    guid = playerData.PlayerItemDatas[i].guid
+                });
+            }
+        }
+
+        loginResponse.EquipDatas = new List<EquipData>();
+        if (playerData.PlayerItemDatas != null)
+        {
+            for (int i = 0; i < playerData.PlayerEquipDatas.Count; i++)
+            {
+                loginResponse.EquipDatas.Add(new EquipData()
+                {
+                    itemId = playerData.PlayerEquipDatas[i].itemId,
+                    quality = playerData.PlayerEquipDatas[i].quality,
+                    zyEqId = playerData.PlayerEquipDatas[i].zyEqId,
+                    isEquip = playerData.PlayerEquipDatas[i].isEquip
+                });
+            }
+        }
+
         MemoryResponse memoryResponse = new MemoryResponse();
-        memoryResponse.count = 999;
+        memoryResponse.LoginResponse = loginResponse;
+        memoryResponse.GameSendType = GameSendType.Login;
         _logicManager.SendResponse(memoryResponse, internalMemoryResponese, iConnection);
     }
 }

+ 71 - 13
NetServer/GameServer/bin/Debug/net7.0/GameServer.deps.json

@@ -28,6 +28,14 @@
           }
         }
       },
+      "LitJson/0.19.0": {
+        "runtime": {
+          "lib/net6.0/LitJSON.dll": {
+            "assemblyVersion": "0.19.0.0",
+            "fileVersion": "0.19.0.0"
+          }
+        }
+      },
       "MemoryPack/1.21.3": {
         "dependencies": {
           "MemoryPack.Core": "1.21.3",
@@ -95,6 +103,21 @@
           }
         }
       },
+      "NLog/5.4.0": {
+        "runtime": {
+          "lib/netstandard2.0/NLog.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.4.0.3182"
+          }
+        }
+      },
+      "NLog.Config/4.7.15": {
+        "dependencies": {
+          "NLog": "5.4.0",
+          "NLog.Schema": "4.7.15"
+        }
+      },
+      "NLog.Schema/4.7.15": {},
       "SharpCompress/0.30.1": {
         "runtime": {
           "lib/net5.0/SharpCompress.dll": {
@@ -135,10 +158,7 @@
           "Protocol": "1.0.0"
         },
         "runtime": {
-          "NetCore.dll": {
-            "assemblyVersion": "1.0.0",
-            "fileVersion": "1.0.0.0"
-          }
+          "NetCore.dll": {}
         }
       },
       "NetServerCore/1.0.0": {
@@ -148,22 +168,27 @@
           "Nett": "0.15.0"
         },
         "runtime": {
-          "NetServerCore.dll": {
-            "assemblyVersion": "1.0.0",
-            "fileVersion": "1.0.0.0"
-          }
+          "NetServerCore.dll": {}
         }
       },
       "Protocol/1.0.0": {
         "dependencies": {
           "MemoryPack": "1.21.3",
-          "MemoryPack.Core": "1.21.3"
+          "MemoryPack.Core": "1.21.3",
+          "UnityLibrary": "1.0.0"
         },
         "runtime": {
-          "Protocol.dll": {
-            "assemblyVersion": "1.0.0",
-            "fileVersion": "1.0.0.0"
-          }
+          "Protocol.dll": {}
+        }
+      },
+      "UnityLibrary/1.0.0": {
+        "dependencies": {
+          "LitJson": "0.19.0",
+          "NLog": "5.4.0",
+          "NLog.Config": "4.7.15"
+        },
+        "runtime": {
+          "UnityLibrary.dll": {}
         }
       }
     }
@@ -181,6 +206,13 @@
       "path": "dnsclient/1.6.1",
       "hashPath": "dnsclient.1.6.1.nupkg.sha512"
     },
+    "LitJson/0.19.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-7hUCUSkNJBwr+K6uqTOsQSbd5AIDrCMg/ya1BPxrSOlPNoPCyDx+0PyXU61FjbRPl7WU2HavV2r89djdJnlV/g==",
+      "path": "litjson/0.19.0",
+      "hashPath": "litjson.0.19.0.nupkg.sha512"
+    },
     "MemoryPack/1.21.3": {
       "type": "package",
       "serviceable": true,
@@ -244,6 +276,27 @@
       "path": "nett/0.15.0",
       "hashPath": "nett.0.15.0.nupkg.sha512"
     },
+    "NLog/5.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LwMcGSW3soF3/SL68rlJN3Eh3ktrAPycC3zZR/07OYBPraZUu0bygEC7kIN10lUQgMXT4s84Fi1chglGdGrQEg==",
+      "path": "nlog/5.4.0",
+      "hashPath": "nlog.5.4.0.nupkg.sha512"
+    },
+    "NLog.Config/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-njc2NvwgAzEuH609TGO4yqpokcxXFdypHwG3I8hyLYIE4pr+j4KJB4ZhsyODVwkP/n2F2V4uJ24VW4icNyJMcA==",
+      "path": "nlog.config/4.7.15",
+      "hashPath": "nlog.config.4.7.15.nupkg.sha512"
+    },
+    "NLog.Schema/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-cBzca2abS5Qz8e40vIPZNWBiDAQaRY7PKWffBbazMAzvxGBM6/ZWgaAEmqHUOluhV41cuyXnHOzo485JPLeChg==",
+      "path": "nlog.schema/4.7.15",
+      "hashPath": "nlog.schema.4.7.15.nupkg.sha512"
+    },
     "SharpCompress/0.30.1": {
       "type": "package",
       "serviceable": true,
@@ -314,6 +367,11 @@
       "type": "project",
       "serviceable": false,
       "sha512": ""
+    },
+    "UnityLibrary/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
     }
   }
 }

BIN
NetServer/GameServer/bin/Debug/net7.0/GameServer.dll


BIN
NetServer/GameServer/bin/Debug/net7.0/GameServer.exe


BIN
NetServer/GameServer/bin/Debug/net7.0/GameServer.pdb


BIN
NetServer/GameServer/bin/Debug/net7.0/LitJSON.dll


+ 63 - 0
NetServer/GameServer/bin/Debug/net7.0/NLog.config

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <!--<variable name="logDirectory" value="E:/Log"/>-->
+  <!--按照小时记录-->
+  <targets>
+    <!--此部分中的所有目标将自动异步-->
+    <default-wrapper xsi:type="AsyncWrapper"></default-wrapper>
+    <target name="logconsole" xsi:type="ColoredConsole"
+            layout="${longdate} [${uppercase:${level}}] ${callsite}(${callsite-filename:includeSourcePath=False}:${callsite-linenumber}) - ${message} ${exception:format=ToString}"
+    />
+    <!--项目日志保存文件路径说明fileName="${basedir}/保存目录,以年月日的格式创建/${shortdate}/${记录器名称}-${单级记录}-${shortdate}.txt"-->
+    <target xsi:type="File"
+            name="info"
+            fileName="${basedir}/info/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <target xsi:type="File"
+            name="error"
+            fileName="${basedir}/error/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <!--网络发送
+        <target name="logstash" xsi:type="Network" address="tcp://127.0.0.1:9900" keepConnection="false"
+         layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}"/>-->
+
+    <!--发送到RabbitMQ-->
+    <!--<extensions>
+      <add assembly="Nlog.RabbitMQ.Target" />
+    </extensions>
+    <targets async="true">
+      <target name="RabbitMQTarget"
+          xsi:type="RabbitMQ"
+         username="guest"
+                 password="guest"
+                 hostname="localhost"
+         port="5672"
+                 vhost="/"
+         appid="NLog.RabbitMQ.TuDou"
+         topic="TuDou.Logging.${level}"
+          exchange="aggregateservice-log"
+                  exchangeType="topic"
+          useJSON="true"
+          layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
+    </targets>-->
+    <!-- ElasticSearch发送
+    <target name="elastic" xsi:type="BufferingWrapper" flushTimeout="5000">
+      <target xsi:type="ElasticSearch" includeAllProperties="true" index="logstash-20200805"  uri="http://localhost:9200" />
+    </target>   -->
+
+  </targets>
+
+  <rules>
+    <logger name="*" level="Info" writeTo="info" />
+    <logger name="*" level="Error" writeTo="error" />
+    <!-- <logger name="*"  writeTo="logconsole" /> -->
+    <!--<logger name="*" level="Info,Error" writeTo="RabbitMQTarget" />-->
+  </rules>
+</nlog>

BIN
NetServer/GameServer/bin/Debug/net7.0/NLog.dll


BIN
NetServer/GameServer/bin/Debug/net7.0/NetCore.dll


BIN
NetServer/GameServer/bin/Debug/net7.0/NetCore.pdb


BIN
NetServer/GameServer/bin/Debug/net7.0/NetServerCore.dll


BIN
NetServer/GameServer/bin/Debug/net7.0/NetServerCore.pdb


BIN
NetServer/GameServer/bin/Debug/net7.0/Protocol.dll


BIN
NetServer/GameServer/bin/Debug/net7.0/Protocol.pdb


BIN
NetServer/GameServer/bin/Debug/net7.0/UnityLibrary.dll


BIN
NetServer/GameServer/bin/Debug/net7.0/UnityLibrary.pdb


+ 0 - 0
NetServer/NetClientCore/ClientMemoryWrap.cs → NetServer/NetClientCore/ClientLogic/ClientMemoryWrap.cs


+ 17 - 17
NetServer/NetClientCore/ClientTest.cs → NetServer/NetClientCore/ClientLogic/ClientTest.cs

@@ -12,23 +12,23 @@ public static class ClientTest
         for (int i = 0; i < 2000; i++)
         {
             int index = i;
-            Task.Run(async delegate()
-            {
-                ClientTestLogicalParsing clientTestLogicalParsing = new ClientTestLogicalParsing();
-                TCPClient<ByteParse, ClientMemoryWrap> tcpClient =
-                    new TCPClient<ByteParse, ClientMemoryWrap>();
-                tcpClient.Connect("127.0.0.1", 1000, clientTestLogicalParsing);
-                int count = 0;
-                while (true)
-                {
-                    count++;
-                    MemoryRequest memoryRequest = new MemoryRequest();
-                    memoryRequest.GameSendType = GameSendType.Login;
-                    memoryRequest.count = index;
-                    tcpClient.SendData(memoryRequest);
-                    await Task.Delay(100);
-                }
-            });
+            // Task.Run(async delegate()
+            // {
+            //     ClientTestLogicalParsing clientTestLogicalParsing = new ClientTestLogicalParsing();
+            //     TCPClient<ByteParse, ClientMemoryWrap> tcpClient =
+            //         new TCPClient<ByteParse, ClientMemoryWrap>();
+            //     tcpClient.Connect("127.0.0.1", 1000, clientTestLogicalParsing);
+            //     int count = 0;
+            //     while (true)
+            //     {
+            //         count++;
+            //         MemoryRequest memoryRequest = new MemoryRequest();
+            //         memoryRequest.GameSendType = GameSendType.Login;
+            //         memoryRequest.count = index;
+            //         tcpClient.SendData(memoryRequest);
+            //         await Task.Delay(100);
+            //     }
+            // });
             // Thread.Sleep(10);
         }
 

+ 0 - 0
NetServer/NetClientCore/ClientTestLogicalParsing.cs → NetServer/NetClientCore/ClientLogic/ClientTestLogicalParsing.cs


+ 3 - 2
NetServer/NetCore/NetCoreBasic/IConnection.cs

@@ -1,10 +1,11 @@
-using NetCore.ContentParse;
+using System;
+using NetCore.ContentParse;
 using NetCore.NetServerCoreBasic;
 using NetCore.Protocol;
 
 namespace NetCore
 {
-    public interface IConnection : INetContainer
+    public interface IConnection : INetContainer,IDisposable
     {
         long ConnectionId { get; set; }
         void SendData(object sendData);

+ 12 - 2
NetServer/NetCore/TCPClient/TCPClient.cs

@@ -11,7 +11,6 @@ using NetCore.Protocol;
 
 namespace NetClientCore.TCP
 {
-
     public class TCPClient<T, K> : IContentReceiver, IConnection
         where T : IContentParse where K : IProtocol
     {
@@ -108,7 +107,6 @@ namespace NetClientCore.TCP
         }
 
 
-
         public void SendData(object sendData)
         {
             byte[] data = iProtocol.Serialize(sendData);
@@ -125,5 +123,17 @@ namespace NetClientCore.TCP
             byte[] parseData = _iContentParse.AssembleByte(bytes);
             socket.SendAsync(parseData, SocketFlags.None);
         }
+
+        public void Dispose()
+        {
+            socket?.Dispose();
+            socket?.Close();
+            socket = null;
+            _iContentParse = null;
+            _iProtocol = null;
+            _udpClientThread = null;
+            _heartbeat = null;
+            LogicalParsing = null;
+        }
     }
 }

+ 63 - 0
NetServer/NetCore/bin/Debug/net7.0/NLog.config

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <!--<variable name="logDirectory" value="E:/Log"/>-->
+  <!--按照小时记录-->
+  <targets>
+    <!--此部分中的所有目标将自动异步-->
+    <default-wrapper xsi:type="AsyncWrapper"></default-wrapper>
+    <target name="logconsole" xsi:type="ColoredConsole"
+            layout="${longdate} [${uppercase:${level}}] ${callsite}(${callsite-filename:includeSourcePath=False}:${callsite-linenumber}) - ${message} ${exception:format=ToString}"
+    />
+    <!--项目日志保存文件路径说明fileName="${basedir}/保存目录,以年月日的格式创建/${shortdate}/${记录器名称}-${单级记录}-${shortdate}.txt"-->
+    <target xsi:type="File"
+            name="info"
+            fileName="${basedir}/info/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <target xsi:type="File"
+            name="error"
+            fileName="${basedir}/error/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <!--网络发送
+        <target name="logstash" xsi:type="Network" address="tcp://127.0.0.1:9900" keepConnection="false"
+         layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}"/>-->
+
+    <!--发送到RabbitMQ-->
+    <!--<extensions>
+      <add assembly="Nlog.RabbitMQ.Target" />
+    </extensions>
+    <targets async="true">
+      <target name="RabbitMQTarget"
+          xsi:type="RabbitMQ"
+         username="guest"
+                 password="guest"
+                 hostname="localhost"
+         port="5672"
+                 vhost="/"
+         appid="NLog.RabbitMQ.TuDou"
+         topic="TuDou.Logging.${level}"
+          exchange="aggregateservice-log"
+                  exchangeType="topic"
+          useJSON="true"
+          layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
+    </targets>-->
+    <!-- ElasticSearch发送
+    <target name="elastic" xsi:type="BufferingWrapper" flushTimeout="5000">
+      <target xsi:type="ElasticSearch" includeAllProperties="true" index="logstash-20200805"  uri="http://localhost:9200" />
+    </target>   -->
+
+  </targets>
+
+  <rules>
+    <logger name="*" level="Info" writeTo="info" />
+    <logger name="*" level="Error" writeTo="error" />
+    <!-- <logger name="*"  writeTo="logconsole" /> -->
+    <!--<logger name="*" level="Info,Error" writeTo="RabbitMQTarget" />-->
+  </rules>
+</nlog>

+ 144 - 0
NetServer/NetCore/bin/Debug/net7.0/NetCore.deps.json

@@ -0,0 +1,144 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v7.0",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v7.0": {
+      "NetCore/1.0.0": {
+        "dependencies": {
+          "MemoryPack": "1.21.3",
+          "Protocol": "1.0.0"
+        },
+        "runtime": {
+          "NetCore.dll": {}
+        }
+      },
+      "LitJson/0.19.0": {
+        "runtime": {
+          "lib/net6.0/LitJSON.dll": {
+            "assemblyVersion": "0.19.0.0",
+            "fileVersion": "0.19.0.0"
+          }
+        }
+      },
+      "MemoryPack/1.21.3": {
+        "dependencies": {
+          "MemoryPack.Core": "1.21.3",
+          "MemoryPack.Generator": "1.21.3"
+        }
+      },
+      "MemoryPack.Core/1.21.3": {
+        "runtime": {
+          "lib/net7.0/MemoryPack.Core.dll": {
+            "assemblyVersion": "1.21.3.0",
+            "fileVersion": "1.21.3.0"
+          }
+        }
+      },
+      "MemoryPack.Generator/1.21.3": {},
+      "NLog/5.4.0": {
+        "runtime": {
+          "lib/netstandard2.0/NLog.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.4.0.3182"
+          }
+        }
+      },
+      "NLog.Config/4.7.15": {
+        "dependencies": {
+          "NLog": "5.4.0",
+          "NLog.Schema": "4.7.15"
+        }
+      },
+      "NLog.Schema/4.7.15": {},
+      "Protocol/1.0.0": {
+        "dependencies": {
+          "MemoryPack": "1.21.3",
+          "MemoryPack.Core": "1.21.3",
+          "UnityLibrary": "1.0.0"
+        },
+        "runtime": {
+          "Protocol.dll": {}
+        }
+      },
+      "UnityLibrary/1.0.0": {
+        "dependencies": {
+          "LitJson": "0.19.0",
+          "NLog": "5.4.0",
+          "NLog.Config": "4.7.15"
+        },
+        "runtime": {
+          "UnityLibrary.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "NetCore/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "LitJson/0.19.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-7hUCUSkNJBwr+K6uqTOsQSbd5AIDrCMg/ya1BPxrSOlPNoPCyDx+0PyXU61FjbRPl7WU2HavV2r89djdJnlV/g==",
+      "path": "litjson/0.19.0",
+      "hashPath": "litjson.0.19.0.nupkg.sha512"
+    },
+    "MemoryPack/1.21.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-cwCtED8y400vMWx/Vp0QCSeEpVFjDU4JwF52VX9WTaqVERUvNqjG9n6osFlmFuytegyXnHvYEu1qRJ8rv/rkbg==",
+      "path": "memorypack/1.21.3",
+      "hashPath": "memorypack.1.21.3.nupkg.sha512"
+    },
+    "MemoryPack.Core/1.21.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ajrYoBWT2aKeH4tlY8q/1C9qK1R/NK+7FkuVOX58ebOSxkABoFTqCR7W+Zk2rakUHZiEgNdRqO67hiRZPq6fLA==",
+      "path": "memorypack.core/1.21.3",
+      "hashPath": "memorypack.core.1.21.3.nupkg.sha512"
+    },
+    "MemoryPack.Generator/1.21.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-hYU0TAIarDKnbkNIWvb7P4zBUL+CTahkuNkczsKvycSMR5kiwQ4IfLexywNKX3s05Izp4gzDSPbueepNWZRpWA==",
+      "path": "memorypack.generator/1.21.3",
+      "hashPath": "memorypack.generator.1.21.3.nupkg.sha512"
+    },
+    "NLog/5.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LwMcGSW3soF3/SL68rlJN3Eh3ktrAPycC3zZR/07OYBPraZUu0bygEC7kIN10lUQgMXT4s84Fi1chglGdGrQEg==",
+      "path": "nlog/5.4.0",
+      "hashPath": "nlog.5.4.0.nupkg.sha512"
+    },
+    "NLog.Config/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-njc2NvwgAzEuH609TGO4yqpokcxXFdypHwG3I8hyLYIE4pr+j4KJB4ZhsyODVwkP/n2F2V4uJ24VW4icNyJMcA==",
+      "path": "nlog.config/4.7.15",
+      "hashPath": "nlog.config.4.7.15.nupkg.sha512"
+    },
+    "NLog.Schema/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-cBzca2abS5Qz8e40vIPZNWBiDAQaRY7PKWffBbazMAzvxGBM6/ZWgaAEmqHUOluhV41cuyXnHOzo485JPLeChg==",
+      "path": "nlog.schema/4.7.15",
+      "hashPath": "nlog.schema.4.7.15.nupkg.sha512"
+    },
+    "Protocol/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "UnityLibrary/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}

BIN
NetServer/NetCore/bin/Debug/net7.0/NetCore.dll


BIN
NetServer/NetCore/bin/Debug/net7.0/NetCore.pdb


BIN
NetServer/NetCore/bin/Debug/net7.0/Protocol.dll


BIN
NetServer/NetCore/bin/Debug/net7.0/Protocol.pdb


BIN
NetServer/NetCore/bin/Debug/net7.0/UnityLibrary.dll


BIN
NetServer/NetCore/bin/Debug/net7.0/UnityLibrary.pdb


+ 0 - 7
NetServer/NetServerCore/InternalProtocol/ServerType.cs

@@ -1,7 +0,0 @@
-namespace NetCore.Protocol.MemoryPack;
-
-
-public enum ServerType
-{
-    GameServer,
-}

+ 32 - 3
NetServer/NetServerCore/MongoDB/DBData/PlayerData.cs

@@ -1,6 +1,7 @@
 using MongoDB.Bson;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Driver;
+using NetCore.Protocol.MemoryPack;
 
 namespace NetServer.MongoDB.DBData;
 
@@ -8,9 +9,26 @@ public class PlayerData
 {
     [BsonId] public ObjectId id { get; set; }
     public long playerId { get; set; }
-    public string name { get; set; }
-    public int age { get; set; }
-    public PlayerHero PlayerHero { get; set; }
+    public string account { get; set; }
+    public string password { get; set; }
+    public string token { get; set; }
+    public string ip { get; set; }
+    public string device { get; set; }
+
+    /// <summary>
+    /// 玩家等级
+    /// </summary>
+    public int playerLevel { get; set; }
+
+    /// <summary>
+    /// 关卡进度
+    /// </summary>
+    public int levelBattleId { get; set; }
+
+    public List<PlayerHero> PlayerHero { get; set; }
+    public List<PlayerItemData> PlayerItemDatas { get; set; }
+    public List<PlayerEquipData> PlayerEquipDatas { get; set; }
+
 
     [BsonIgnore] public UpdateDefinition<PlayerData> Update;
 
@@ -35,4 +53,15 @@ public class PlayerData
             Update = updateDefinition;
         }
     }
+
+    public HeroData PlayerHeroToHeroData(PlayerHero playerHero)
+    {
+        HeroData heroData = new HeroData();
+        heroData.heroId = playerHero.heroId;
+        heroData.heroLevel = playerHero.heroLevel;
+        heroData.heroExp = playerHero.heroExp;
+        heroData.heroStar = playerHero.heroStar;
+        heroData.equipID = playerHero.equipID;
+        return heroData;
+    }
 }

+ 19 - 0
NetServer/NetServerCore/MongoDB/DBData/PlayerEquipData.cs

@@ -0,0 +1,19 @@
+namespace NetServer.MongoDB.DBData;
+
+public class PlayerEquipData
+{
+    /// <summary>
+    /// 道具ID
+    /// </summary>
+    public int itemId { get; set; }
+
+    public int zyEqId { get; set; }
+
+    // public int dropLv;
+    public int quality { get; set; }
+
+    /// <summary>
+    /// 是否穿了(职业装备)
+    /// </summary>
+    public bool isEquip { get; set; }
+}

+ 4 - 1
NetServer/NetServerCore/MongoDB/DBData/PlayerHero.cs

@@ -3,5 +3,8 @@
 public class PlayerHero
 {
     public int heroId { get; set; }
-    public int heroLevel{ get; set; }
+    public int heroLevel { get; set; }
+    public int heroExp { get; set; }
+    public int heroStar { get; set; }
+    public List<int> equipID { get; set; }
 }

+ 19 - 0
NetServer/NetServerCore/MongoDB/DBData/PlayerItemData.cs

@@ -0,0 +1,19 @@
+namespace NetServer.MongoDB.DBData;
+
+public class PlayerItemData
+{
+    /// <summary>
+    /// 道具ID
+    /// </summary>
+    public int itemId { get; set; }
+
+    /// <summary>
+    /// 道具数量
+    /// </summary>
+    public long itemCount { get; set; }
+
+    /// <summary>
+    /// 道具guid
+    /// </summary>
+    public string guid { get; set; }
+}

+ 1 - 0
NetServer/NetServerCore/MongoDB/DBLink.cs

@@ -25,6 +25,7 @@ public class DBLink
             _mongoClient = new MongoClient(dbPath);
 
             _iMongoDatabase = _mongoClient.GetDatabase(dbName);
+            PlayerDataLink.PlayerDbLink.InitPlayerData(this);
         }
         catch (Exception e)
         {

+ 8 - 3
NetServer/NetServerCore/MongoDB/PlayerDataLink.cs

@@ -34,15 +34,20 @@ public class PlayerDataLink : DBDataLink<PlayerData>
     {
         var filter = Builders<PlayerData>.Filter
             .Eq(restaurant => restaurant.id, bsonDocument.id);
-        var update = bsonDocument.Update;
-        bsonDocument.Update = bsonDocument.CapyUpdate();
+        // var update = bsonDocument.Update;
+        var update = bsonDocument.CapyUpdate();
         base.Update(filter, update);
     }
 
-    private async Task<PlayerData> FindOneDataAsyncPlayerData(long id)
+    public async Task<PlayerData> FindOneDataAsyncPlayerData(long id)
     {
         var filter = Builders<PlayerData>.Filter
             .Eq(r => r.playerId, id);
         return await base.FindOneDataAsync(filter);
     }
+
+    public async Task<PlayerData> FindOneDataAsyncPlayerData(FilterDefinition<PlayerData> filter)
+    {
+        return await base.FindOneDataAsync(filter);
+    }
 }

+ 63 - 0
NetServer/NetServerCore/bin/Debug/net7.0/NLog.config

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <!--<variable name="logDirectory" value="E:/Log"/>-->
+  <!--按照小时记录-->
+  <targets>
+    <!--此部分中的所有目标将自动异步-->
+    <default-wrapper xsi:type="AsyncWrapper"></default-wrapper>
+    <target name="logconsole" xsi:type="ColoredConsole"
+            layout="${longdate} [${uppercase:${level}}] ${callsite}(${callsite-filename:includeSourcePath=False}:${callsite-linenumber}) - ${message} ${exception:format=ToString}"
+    />
+    <!--项目日志保存文件路径说明fileName="${basedir}/保存目录,以年月日的格式创建/${shortdate}/${记录器名称}-${单级记录}-${shortdate}.txt"-->
+    <target xsi:type="File"
+            name="info"
+            fileName="${basedir}/info/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <target xsi:type="File"
+            name="error"
+            fileName="${basedir}/error/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <!--网络发送
+        <target name="logstash" xsi:type="Network" address="tcp://127.0.0.1:9900" keepConnection="false"
+         layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}"/>-->
+
+    <!--发送到RabbitMQ-->
+    <!--<extensions>
+      <add assembly="Nlog.RabbitMQ.Target" />
+    </extensions>
+    <targets async="true">
+      <target name="RabbitMQTarget"
+          xsi:type="RabbitMQ"
+         username="guest"
+                 password="guest"
+                 hostname="localhost"
+         port="5672"
+                 vhost="/"
+         appid="NLog.RabbitMQ.TuDou"
+         topic="TuDou.Logging.${level}"
+          exchange="aggregateservice-log"
+                  exchangeType="topic"
+          useJSON="true"
+          layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
+    </targets>-->
+    <!-- ElasticSearch发送
+    <target name="elastic" xsi:type="BufferingWrapper" flushTimeout="5000">
+      <target xsi:type="ElasticSearch" includeAllProperties="true" index="logstash-20200805"  uri="http://localhost:9200" />
+    </target>   -->
+
+  </targets>
+
+  <rules>
+    <logger name="*" level="Info" writeTo="info" />
+    <logger name="*" level="Error" writeTo="error" />
+    <!-- <logger name="*"  writeTo="logconsole" /> -->
+    <!--<logger name="*" level="Info,Error" writeTo="RabbitMQTarget" />-->
+  </rules>
+</nlog>

BIN
NetServer/NetServerCore/bin/Debug/net7.0/NetCore.dll


BIN
NetServer/NetServerCore/bin/Debug/net7.0/NetCore.pdb


+ 70 - 9
NetServer/NetServerCore/bin/Debug/net7.0/NetServerCore.deps.json

@@ -27,6 +27,14 @@
           }
         }
       },
+      "LitJson/0.19.0": {
+        "runtime": {
+          "lib/net6.0/LitJSON.dll": {
+            "assemblyVersion": "0.19.0.0",
+            "fileVersion": "0.19.0.0"
+          }
+        }
+      },
       "MemoryPack/1.21.3": {
         "dependencies": {
           "MemoryPack.Core": "1.21.3",
@@ -94,6 +102,21 @@
           }
         }
       },
+      "NLog/5.4.0": {
+        "runtime": {
+          "lib/netstandard2.0/NLog.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.4.0.3182"
+          }
+        }
+      },
+      "NLog.Config/4.7.15": {
+        "dependencies": {
+          "NLog": "5.4.0",
+          "NLog.Schema": "4.7.15"
+        }
+      },
+      "NLog.Schema/4.7.15": {},
       "SharpCompress/0.30.1": {
         "runtime": {
           "lib/net5.0/SharpCompress.dll": {
@@ -134,22 +157,27 @@
           "Protocol": "1.0.0"
         },
         "runtime": {
-          "NetCore.dll": {
-            "assemblyVersion": "1.0.0",
-            "fileVersion": "1.0.0.0"
-          }
+          "NetCore.dll": {}
         }
       },
       "Protocol/1.0.0": {
         "dependencies": {
           "MemoryPack": "1.21.3",
-          "MemoryPack.Core": "1.21.3"
+          "MemoryPack.Core": "1.21.3",
+          "UnityLibrary": "1.0.0"
         },
         "runtime": {
-          "Protocol.dll": {
-            "assemblyVersion": "1.0.0",
-            "fileVersion": "1.0.0.0"
-          }
+          "Protocol.dll": {}
+        }
+      },
+      "UnityLibrary/1.0.0": {
+        "dependencies": {
+          "LitJson": "0.19.0",
+          "NLog": "5.4.0",
+          "NLog.Config": "4.7.15"
+        },
+        "runtime": {
+          "UnityLibrary.dll": {}
         }
       }
     }
@@ -167,6 +195,13 @@
       "path": "dnsclient/1.6.1",
       "hashPath": "dnsclient.1.6.1.nupkg.sha512"
     },
+    "LitJson/0.19.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-7hUCUSkNJBwr+K6uqTOsQSbd5AIDrCMg/ya1BPxrSOlPNoPCyDx+0PyXU61FjbRPl7WU2HavV2r89djdJnlV/g==",
+      "path": "litjson/0.19.0",
+      "hashPath": "litjson.0.19.0.nupkg.sha512"
+    },
     "MemoryPack/1.21.3": {
       "type": "package",
       "serviceable": true,
@@ -230,6 +265,27 @@
       "path": "nett/0.15.0",
       "hashPath": "nett.0.15.0.nupkg.sha512"
     },
+    "NLog/5.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LwMcGSW3soF3/SL68rlJN3Eh3ktrAPycC3zZR/07OYBPraZUu0bygEC7kIN10lUQgMXT4s84Fi1chglGdGrQEg==",
+      "path": "nlog/5.4.0",
+      "hashPath": "nlog.5.4.0.nupkg.sha512"
+    },
+    "NLog.Config/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-njc2NvwgAzEuH609TGO4yqpokcxXFdypHwG3I8hyLYIE4pr+j4KJB4ZhsyODVwkP/n2F2V4uJ24VW4icNyJMcA==",
+      "path": "nlog.config/4.7.15",
+      "hashPath": "nlog.config.4.7.15.nupkg.sha512"
+    },
+    "NLog.Schema/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-cBzca2abS5Qz8e40vIPZNWBiDAQaRY7PKWffBbazMAzvxGBM6/ZWgaAEmqHUOluhV41cuyXnHOzo485JPLeChg==",
+      "path": "nlog.schema/4.7.15",
+      "hashPath": "nlog.schema.4.7.15.nupkg.sha512"
+    },
     "SharpCompress/0.30.1": {
       "type": "package",
       "serviceable": true,
@@ -295,6 +351,11 @@
       "type": "project",
       "serviceable": false,
       "sha512": ""
+    },
+    "UnityLibrary/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
     }
   }
 }

BIN
NetServer/NetServerCore/bin/Debug/net7.0/NetServerCore.dll


BIN
NetServer/NetServerCore/bin/Debug/net7.0/NetServerCore.pdb


BIN
NetServer/NetServerCore/bin/Debug/net7.0/Protocol.dll


BIN
NetServer/NetServerCore/bin/Debug/net7.0/Protocol.pdb


BIN
NetServer/NetServerCore/bin/Debug/net7.0/UnityLibrary.dll


BIN
NetServer/NetServerCore/bin/Debug/net7.0/UnityLibrary.pdb


+ 8 - 1
NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/MemoryRequest.cs

@@ -6,6 +6,13 @@ namespace Protocol.Protocol.MemoryPack.MemoryMessage
     public partial class MemoryRequest
     {
         public GameSendType GameSendType;
-        public int count;
+        public LoginRequest LoginRequest;
+    }
+
+    [MemoryPackable]
+    public partial class LoginRequest
+    {
+        public string account;
+        public string password;
     }
 }

+ 86 - 3
NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/MemoryResponse.cs

@@ -1,13 +1,96 @@
-using MemoryPack;
+using System.Collections.Generic;
+using MemoryPack;
+using Protocol.MemoryPack.MemoryMessage;
 using Protocol.Protocol.MemoryPack.MemoryMessage;
 
 namespace NetCore.Protocol.MemoryPack
 {
-
     [MemoryPackable]
     public partial class MemoryResponse
     {
         public GameSendType GameSendType;
-        public int count;
+        public RespomseType RespomseType;
+
+        /// <summary>
+        /// 登陆返回的信息
+        /// </summary>
+        public LoginResponse LoginResponse;
+    }
+
+    [MemoryPackable]
+    public partial class LoginResponse
+    {
+        /// <summary>
+        /// 玩家等级
+        /// </summary>
+        public int playerLevel;
+
+        /// <summary>
+        /// 关卡进度
+        /// </summary>
+        public int levelBattleId;
+
+        /// <summary>
+        /// 玩家英雄
+        /// </summary>
+        public List<HeroData> heroDatas;
+
+        /// <summary>
+        /// 玩家道具
+        /// </summary>
+        public List<ItemData> ItemDatas;
+
+        /// <summary>
+        /// 玩家的装备
+        /// </summary>
+        public List<EquipData> EquipDatas;
+    }
+
+    [MemoryPackable]
+    public partial class HeroData
+    {
+        public int heroId;
+        public int heroLevel;
+        public int heroExp;
+        public int heroStar;
+        public List<int> equipID;
+    }
+
+    [MemoryPackable]
+    public partial class ItemData
+    {
+        /// <summary>
+        /// 道具ID
+        /// </summary>
+        public int itemId;
+
+        /// <summary>
+        /// 道具数量
+        /// </summary>
+        public long itemCount;
+
+        /// <summary>
+        /// 道具guid
+        /// </summary>
+        public string guid;
+    }
+
+    [MemoryPackable]
+    public partial class EquipData
+    {
+        /// <summary>
+        /// 道具ID
+        /// </summary>
+        public int itemId;
+
+        public int zyEqId;
+
+        // public int dropLv;
+        public int quality;
+
+        /// <summary>
+        /// 是否穿了(职业装备)
+        /// </summary>
+        public bool isEquip;
     }
 }

+ 8 - 0
NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/RespomseType.cs

@@ -0,0 +1,8 @@
+namespace Protocol.MemoryPack.MemoryMessage
+{
+    public enum RespomseType
+    {
+        Respomse,
+        Notify,
+    }
+}

+ 3 - 0
NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/RespomseType.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: cb05af2afd534a1bb979322a97cd0bf8
+timeCreated: 1738726078

+ 9 - 0
NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/ServerType.cs

@@ -0,0 +1,9 @@
+namespace NetCore.Protocol.MemoryPack
+{
+
+
+    public enum ServerType
+    {
+        GameServer,
+    }
+}

+ 11 - 0
NetServer/Protocol/Protocol/MemoryPack/MemoryMessage/ServerType.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: XHkftnj4Vilr8jmoPJt6+Z0AeJ7p93aDuFx1XqMGbwB+KLACtB69UTg=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 63 - 0
NetServer/Protocol/bin/Debug/net7.0/NLog.config

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <!--<variable name="logDirectory" value="E:/Log"/>-->
+  <!--按照小时记录-->
+  <targets>
+    <!--此部分中的所有目标将自动异步-->
+    <default-wrapper xsi:type="AsyncWrapper"></default-wrapper>
+    <target name="logconsole" xsi:type="ColoredConsole"
+            layout="${longdate} [${uppercase:${level}}] ${callsite}(${callsite-filename:includeSourcePath=False}:${callsite-linenumber}) - ${message} ${exception:format=ToString}"
+    />
+    <!--项目日志保存文件路径说明fileName="${basedir}/保存目录,以年月日的格式创建/${shortdate}/${记录器名称}-${单级记录}-${shortdate}.txt"-->
+    <target xsi:type="File"
+            name="info"
+            fileName="${basedir}/info/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <target xsi:type="File"
+            name="error"
+            fileName="${basedir}/error/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <!--网络发送
+        <target name="logstash" xsi:type="Network" address="tcp://127.0.0.1:9900" keepConnection="false"
+         layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}"/>-->
+
+    <!--发送到RabbitMQ-->
+    <!--<extensions>
+      <add assembly="Nlog.RabbitMQ.Target" />
+    </extensions>
+    <targets async="true">
+      <target name="RabbitMQTarget"
+          xsi:type="RabbitMQ"
+         username="guest"
+                 password="guest"
+                 hostname="localhost"
+         port="5672"
+                 vhost="/"
+         appid="NLog.RabbitMQ.TuDou"
+         topic="TuDou.Logging.${level}"
+          exchange="aggregateservice-log"
+                  exchangeType="topic"
+          useJSON="true"
+          layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
+    </targets>-->
+    <!-- ElasticSearch发送
+    <target name="elastic" xsi:type="BufferingWrapper" flushTimeout="5000">
+      <target xsi:type="ElasticSearch" includeAllProperties="true" index="logstash-20200805"  uri="http://localhost:9200" />
+    </target>   -->
+
+  </targets>
+
+  <rules>
+    <logger name="*" level="Info" writeTo="info" />
+    <logger name="*" level="Error" writeTo="error" />
+    <!-- <logger name="*"  writeTo="logconsole" /> -->
+    <!--<logger name="*" level="Info,Error" writeTo="RabbitMQTarget" />-->
+  </rules>
+</nlog>

+ 69 - 2
NetServer/Protocol/bin/Debug/net7.0/Protocol.deps.json

@@ -9,12 +9,21 @@
       "Protocol/1.0.0": {
         "dependencies": {
           "MemoryPack": "1.21.3",
-          "MemoryPack.Core": "1.21.3"
+          "MemoryPack.Core": "1.21.3",
+          "UnityLibrary": "1.0.0"
         },
         "runtime": {
           "Protocol.dll": {}
         }
       },
+      "LitJson/0.19.0": {
+        "runtime": {
+          "lib/net6.0/LitJSON.dll": {
+            "assemblyVersion": "0.19.0.0",
+            "fileVersion": "0.19.0.0"
+          }
+        }
+      },
       "MemoryPack/1.21.3": {
         "dependencies": {
           "MemoryPack.Core": "1.21.3",
@@ -29,7 +38,32 @@
           }
         }
       },
-      "MemoryPack.Generator/1.21.3": {}
+      "MemoryPack.Generator/1.21.3": {},
+      "NLog/5.4.0": {
+        "runtime": {
+          "lib/netstandard2.0/NLog.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.4.0.3182"
+          }
+        }
+      },
+      "NLog.Config/4.7.15": {
+        "dependencies": {
+          "NLog": "5.4.0",
+          "NLog.Schema": "4.7.15"
+        }
+      },
+      "NLog.Schema/4.7.15": {},
+      "UnityLibrary/1.0.0": {
+        "dependencies": {
+          "LitJson": "0.19.0",
+          "NLog": "5.4.0",
+          "NLog.Config": "4.7.15"
+        },
+        "runtime": {
+          "UnityLibrary.dll": {}
+        }
+      }
     }
   },
   "libraries": {
@@ -38,6 +72,13 @@
       "serviceable": false,
       "sha512": ""
     },
+    "LitJson/0.19.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-7hUCUSkNJBwr+K6uqTOsQSbd5AIDrCMg/ya1BPxrSOlPNoPCyDx+0PyXU61FjbRPl7WU2HavV2r89djdJnlV/g==",
+      "path": "litjson/0.19.0",
+      "hashPath": "litjson.0.19.0.nupkg.sha512"
+    },
     "MemoryPack/1.21.3": {
       "type": "package",
       "serviceable": true,
@@ -58,6 +99,32 @@
       "sha512": "sha512-hYU0TAIarDKnbkNIWvb7P4zBUL+CTahkuNkczsKvycSMR5kiwQ4IfLexywNKX3s05Izp4gzDSPbueepNWZRpWA==",
       "path": "memorypack.generator/1.21.3",
       "hashPath": "memorypack.generator.1.21.3.nupkg.sha512"
+    },
+    "NLog/5.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LwMcGSW3soF3/SL68rlJN3Eh3ktrAPycC3zZR/07OYBPraZUu0bygEC7kIN10lUQgMXT4s84Fi1chglGdGrQEg==",
+      "path": "nlog/5.4.0",
+      "hashPath": "nlog.5.4.0.nupkg.sha512"
+    },
+    "NLog.Config/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-njc2NvwgAzEuH609TGO4yqpokcxXFdypHwG3I8hyLYIE4pr+j4KJB4ZhsyODVwkP/n2F2V4uJ24VW4icNyJMcA==",
+      "path": "nlog.config/4.7.15",
+      "hashPath": "nlog.config.4.7.15.nupkg.sha512"
+    },
+    "NLog.Schema/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-cBzca2abS5Qz8e40vIPZNWBiDAQaRY7PKWffBbazMAzvxGBM6/ZWgaAEmqHUOluhV41cuyXnHOzo485JPLeChg==",
+      "path": "nlog.schema/4.7.15",
+      "hashPath": "nlog.schema.4.7.15.nupkg.sha512"
+    },
+    "UnityLibrary/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
     }
   }
 }

BIN
NetServer/Protocol/bin/Debug/net7.0/Protocol.dll


BIN
NetServer/Protocol/bin/Debug/net7.0/Protocol.pdb


BIN
NetServer/Protocol/bin/Debug/net7.0/UnityLibrary.dll


BIN
NetServer/Protocol/bin/Debug/net7.0/UnityLibrary.pdb


+ 2 - 0
NetServer/TransitServer/PublicServer/PublicLogicManager.cs

@@ -1,4 +1,5 @@
 using System.Collections.Concurrent;
+using Fort23.UTool;
 using NetCore;
 using NetCore.ContentParse;
 using NetCore.Protocol.MemoryPack;
@@ -14,6 +15,7 @@ public class PublicLogicManager : LogicManagerBaisc<InternalMemoryRequst>
 
     public override void Logic(object data, IConnection iConnection)
     {
+        LogTool.Log("收到一个客户端请求");
         byte[] databyte = data as byte[];
         int index = 0;
         byte[] serverType = new byte[4];

BIN
NetServer/TransitServer/bin/Debug/net7.0/LitJSON.dll


+ 63 - 0
NetServer/TransitServer/bin/Debug/net7.0/NLog.config

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <!--<variable name="logDirectory" value="E:/Log"/>-->
+  <!--按照小时记录-->
+  <targets>
+    <!--此部分中的所有目标将自动异步-->
+    <default-wrapper xsi:type="AsyncWrapper"></default-wrapper>
+    <target name="logconsole" xsi:type="ColoredConsole"
+            layout="${longdate} [${uppercase:${level}}] ${callsite}(${callsite-filename:includeSourcePath=False}:${callsite-linenumber}) - ${message} ${exception:format=ToString}"
+    />
+    <!--项目日志保存文件路径说明fileName="${basedir}/保存目录,以年月日的格式创建/${shortdate}/${记录器名称}-${单级记录}-${shortdate}.txt"-->
+    <target xsi:type="File"
+            name="info"
+            fileName="${basedir}/info/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <target xsi:type="File"
+            name="error"
+            fileName="${basedir}/error/${date:format=yyyy-MM-dd}_${processid}.txt"
+            layout ="${longdate}|${processid}|${uppercase:${level}}|${threadid}|${message} ${exception}"
+            encoding="utf-8"
+            maxArchiveFiles="30"
+    />
+    <!--网络发送
+        <target name="logstash" xsi:type="Network" address="tcp://127.0.0.1:9900" keepConnection="false"
+         layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}"/>-->
+
+    <!--发送到RabbitMQ-->
+    <!--<extensions>
+      <add assembly="Nlog.RabbitMQ.Target" />
+    </extensions>
+    <targets async="true">
+      <target name="RabbitMQTarget"
+          xsi:type="RabbitMQ"
+         username="guest"
+                 password="guest"
+                 hostname="localhost"
+         port="5672"
+                 vhost="/"
+         appid="NLog.RabbitMQ.TuDou"
+         topic="TuDou.Logging.${level}"
+          exchange="aggregateservice-log"
+                  exchangeType="topic"
+          useJSON="true"
+          layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
+    </targets>-->
+    <!-- ElasticSearch发送
+    <target name="elastic" xsi:type="BufferingWrapper" flushTimeout="5000">
+      <target xsi:type="ElasticSearch" includeAllProperties="true" index="logstash-20200805"  uri="http://localhost:9200" />
+    </target>   -->
+
+  </targets>
+
+  <rules>
+    <logger name="*" level="Info" writeTo="info" />
+    <logger name="*" level="Error" writeTo="error" />
+    <!-- <logger name="*"  writeTo="logconsole" /> -->
+    <!--<logger name="*" level="Info,Error" writeTo="RabbitMQTarget" />-->
+  </rules>
+</nlog>

BIN
NetServer/TransitServer/bin/Debug/net7.0/NLog.dll


BIN
NetServer/TransitServer/bin/Debug/net7.0/NetCore.dll


BIN
NetServer/TransitServer/bin/Debug/net7.0/NetCore.pdb


BIN
NetServer/TransitServer/bin/Debug/net7.0/NetServerCore.dll


BIN
NetServer/TransitServer/bin/Debug/net7.0/NetServerCore.pdb


BIN
NetServer/TransitServer/bin/Debug/net7.0/Protocol.dll


BIN
NetServer/TransitServer/bin/Debug/net7.0/Protocol.pdb


+ 71 - 13
NetServer/TransitServer/bin/Debug/net7.0/TransitServer.deps.json

@@ -26,6 +26,14 @@
           }
         }
       },
+      "LitJson/0.19.0": {
+        "runtime": {
+          "lib/net6.0/LitJSON.dll": {
+            "assemblyVersion": "0.19.0.0",
+            "fileVersion": "0.19.0.0"
+          }
+        }
+      },
       "MemoryPack/1.21.3": {
         "dependencies": {
           "MemoryPack.Core": "1.21.3",
@@ -93,6 +101,21 @@
           }
         }
       },
+      "NLog/5.4.0": {
+        "runtime": {
+          "lib/netstandard2.0/NLog.dll": {
+            "assemblyVersion": "5.0.0.0",
+            "fileVersion": "5.4.0.3182"
+          }
+        }
+      },
+      "NLog.Config/4.7.15": {
+        "dependencies": {
+          "NLog": "5.4.0",
+          "NLog.Schema": "4.7.15"
+        }
+      },
+      "NLog.Schema/4.7.15": {},
       "SharpCompress/0.30.1": {
         "runtime": {
           "lib/net5.0/SharpCompress.dll": {
@@ -133,10 +156,7 @@
           "Protocol": "1.0.0"
         },
         "runtime": {
-          "NetCore.dll": {
-            "assemblyVersion": "1.0.0",
-            "fileVersion": "1.0.0.0"
-          }
+          "NetCore.dll": {}
         }
       },
       "NetServerCore/1.0.0": {
@@ -146,22 +166,27 @@
           "Nett": "0.15.0"
         },
         "runtime": {
-          "NetServerCore.dll": {
-            "assemblyVersion": "1.0.0",
-            "fileVersion": "1.0.0.0"
-          }
+          "NetServerCore.dll": {}
         }
       },
       "Protocol/1.0.0": {
         "dependencies": {
           "MemoryPack": "1.21.3",
-          "MemoryPack.Core": "1.21.3"
+          "MemoryPack.Core": "1.21.3",
+          "UnityLibrary": "1.0.0"
         },
         "runtime": {
-          "Protocol.dll": {
-            "assemblyVersion": "1.0.0",
-            "fileVersion": "1.0.0.0"
-          }
+          "Protocol.dll": {}
+        }
+      },
+      "UnityLibrary/1.0.0": {
+        "dependencies": {
+          "LitJson": "0.19.0",
+          "NLog": "5.4.0",
+          "NLog.Config": "4.7.15"
+        },
+        "runtime": {
+          "UnityLibrary.dll": {}
         }
       }
     }
@@ -179,6 +204,13 @@
       "path": "dnsclient/1.6.1",
       "hashPath": "dnsclient.1.6.1.nupkg.sha512"
     },
+    "LitJson/0.19.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-7hUCUSkNJBwr+K6uqTOsQSbd5AIDrCMg/ya1BPxrSOlPNoPCyDx+0PyXU61FjbRPl7WU2HavV2r89djdJnlV/g==",
+      "path": "litjson/0.19.0",
+      "hashPath": "litjson.0.19.0.nupkg.sha512"
+    },
     "MemoryPack/1.21.3": {
       "type": "package",
       "serviceable": true,
@@ -242,6 +274,27 @@
       "path": "nett/0.15.0",
       "hashPath": "nett.0.15.0.nupkg.sha512"
     },
+    "NLog/5.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LwMcGSW3soF3/SL68rlJN3Eh3ktrAPycC3zZR/07OYBPraZUu0bygEC7kIN10lUQgMXT4s84Fi1chglGdGrQEg==",
+      "path": "nlog/5.4.0",
+      "hashPath": "nlog.5.4.0.nupkg.sha512"
+    },
+    "NLog.Config/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-njc2NvwgAzEuH609TGO4yqpokcxXFdypHwG3I8hyLYIE4pr+j4KJB4ZhsyODVwkP/n2F2V4uJ24VW4icNyJMcA==",
+      "path": "nlog.config/4.7.15",
+      "hashPath": "nlog.config.4.7.15.nupkg.sha512"
+    },
+    "NLog.Schema/4.7.15": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-cBzca2abS5Qz8e40vIPZNWBiDAQaRY7PKWffBbazMAzvxGBM6/ZWgaAEmqHUOluhV41cuyXnHOzo485JPLeChg==",
+      "path": "nlog.schema/4.7.15",
+      "hashPath": "nlog.schema.4.7.15.nupkg.sha512"
+    },
     "SharpCompress/0.30.1": {
       "type": "package",
       "serviceable": true,
@@ -312,6 +365,11 @@
       "type": "project",
       "serviceable": false,
       "sha512": ""
+    },
+    "UnityLibrary/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
     }
   }
 }

BIN
NetServer/TransitServer/bin/Debug/net7.0/TransitServer.dll


BIN
NetServer/TransitServer/bin/Debug/net7.0/TransitServer.exe


BIN
NetServer/TransitServer/bin/Debug/net7.0/TransitServer.pdb


BIN
NetServer/TransitServer/bin/Debug/net7.0/UnityLibrary.dll


BIN
NetServer/TransitServer/bin/Debug/net7.0/UnityLibrary.pdb


+ 36 - 0
NetServer/TransitServer/bin/Debug/net7.0/error/2025-02-05_31252.txt

@@ -0,0 +1,36 @@
+2025-02-05 14:49:02.1426|31252|ERROR|51|System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object.
+   at NetServer.NetLink.TCP.TCPServerConnection`2.SendData(Object sendData) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 123
+   at NetServer.InternalServer.SendInternalServerManager.SendInternalServer(ServerType serverType, InternalMemoryResponese internalMemoryResponese, Action`1 callBack) in D:\unityProject\XY001\NetServer\TransitServer\InternalServer\SendInternalServerManager.cs:line 56
+   at NetServer.ServerLogic.PublicLogicManager.Logic(Object data, IConnection iConnection) in D:\unityProject\XY001\NetServer\TransitServer\PublicServer\PublicLogicManager.cs:line 32
+   at NetServer.NetLink.TCP.TCPServerConnection`2.AddContent(Byte[] data) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 110
+   at NetCore.ContentParse.ByteParse.ParseByte(Byte[] buffData, IProtocol iProtocol, IContentReceiver contentReceiver) in D:\unityProject\XY001\NetServer\NetCore\ContentParse\ByteParse.cs:line 231
+2025-02-05 14:49:43.1292|31252|ERROR|53|System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object.
+   at NetServer.NetLink.TCP.TCPServerConnection`2.SendData(Object sendData) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 123
+   at NetServer.InternalServer.SendInternalServerManager.SendInternalServer(ServerType serverType, InternalMemoryResponese internalMemoryResponese, Action`1 callBack) in D:\unityProject\XY001\NetServer\TransitServer\InternalServer\SendInternalServerManager.cs:line 56
+   at NetServer.ServerLogic.PublicLogicManager.Logic(Object data, IConnection iConnection) in D:\unityProject\XY001\NetServer\TransitServer\PublicServer\PublicLogicManager.cs:line 32
+   at NetServer.NetLink.TCP.TCPServerConnection`2.AddContent(Byte[] data) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 110
+   at NetCore.ContentParse.ByteParse.ParseByte(Byte[] buffData, IProtocol iProtocol, IContentReceiver contentReceiver) in D:\unityProject\XY001\NetServer\NetCore\ContentParse\ByteParse.cs:line 231
+2025-02-05 14:50:57.7751|31252|ERROR|64|System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object.
+   at NetServer.NetLink.TCP.TCPServerConnection`2.SendData(Object sendData) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 123
+   at NetServer.InternalServer.SendInternalServerManager.SendInternalServer(ServerType serverType, InternalMemoryResponese internalMemoryResponese, Action`1 callBack) in D:\unityProject\XY001\NetServer\TransitServer\InternalServer\SendInternalServerManager.cs:line 56
+   at NetServer.ServerLogic.PublicLogicManager.Logic(Object data, IConnection iConnection) in D:\unityProject\XY001\NetServer\TransitServer\PublicServer\PublicLogicManager.cs:line 32
+   at NetServer.NetLink.TCP.TCPServerConnection`2.AddContent(Byte[] data) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 110
+   at NetCore.ContentParse.ByteParse.ParseByte(Byte[] buffData, IProtocol iProtocol, IContentReceiver contentReceiver) in D:\unityProject\XY001\NetServer\NetCore\ContentParse\ByteParse.cs:line 231
+2025-02-05 14:51:47.1187|31252|ERROR|68|System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object.
+   at NetServer.NetLink.TCP.TCPServerConnection`2.SendData(Object sendData) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 123
+   at NetServer.InternalServer.SendInternalServerManager.SendInternalServer(ServerType serverType, InternalMemoryResponese internalMemoryResponese, Action`1 callBack) in D:\unityProject\XY001\NetServer\TransitServer\InternalServer\SendInternalServerManager.cs:line 56
+   at NetServer.ServerLogic.PublicLogicManager.Logic(Object data, IConnection iConnection) in D:\unityProject\XY001\NetServer\TransitServer\PublicServer\PublicLogicManager.cs:line 32
+   at NetServer.NetLink.TCP.TCPServerConnection`2.AddContent(Byte[] data) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 110
+   at NetCore.ContentParse.ByteParse.ParseByte(Byte[] buffData, IProtocol iProtocol, IContentReceiver contentReceiver) in D:\unityProject\XY001\NetServer\NetCore\ContentParse\ByteParse.cs:line 231
+2025-02-05 14:52:23.3271|31252|ERROR|71|System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object.
+   at NetServer.NetLink.TCP.TCPServerConnection`2.SendData(Object sendData) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 123
+   at NetServer.InternalServer.SendInternalServerManager.SendInternalServer(ServerType serverType, InternalMemoryResponese internalMemoryResponese, Action`1 callBack) in D:\unityProject\XY001\NetServer\TransitServer\InternalServer\SendInternalServerManager.cs:line 56
+   at NetServer.ServerLogic.PublicLogicManager.Logic(Object data, IConnection iConnection) in D:\unityProject\XY001\NetServer\TransitServer\PublicServer\PublicLogicManager.cs:line 32
+   at NetServer.NetLink.TCP.TCPServerConnection`2.AddContent(Byte[] data) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 110
+   at NetCore.ContentParse.ByteParse.ParseByte(Byte[] buffData, IProtocol iProtocol, IContentReceiver contentReceiver) in D:\unityProject\XY001\NetServer\NetCore\ContentParse\ByteParse.cs:line 231
+2025-02-05 14:52:54.7744|31252|ERROR|76|System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object.
+   at NetServer.NetLink.TCP.TCPServerConnection`2.SendData(Object sendData) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 123
+   at NetServer.InternalServer.SendInternalServerManager.SendInternalServer(ServerType serverType, InternalMemoryResponese internalMemoryResponese, Action`1 callBack) in D:\unityProject\XY001\NetServer\TransitServer\InternalServer\SendInternalServerManager.cs:line 56
+   at NetServer.ServerLogic.PublicLogicManager.Logic(Object data, IConnection iConnection) in D:\unityProject\XY001\NetServer\TransitServer\PublicServer\PublicLogicManager.cs:line 32
+   at NetServer.NetLink.TCP.TCPServerConnection`2.AddContent(Byte[] data) in D:\unityProject\XY001\NetServer\NetServerCore\NetLink\TCP\TCPServerConnection.cs:line 110
+   at NetCore.ContentParse.ByteParse.ParseByte(Byte[] buffData, IProtocol iProtocol, IContentReceiver contentReceiver) in D:\unityProject\XY001\NetServer\NetCore\ContentParse\ByteParse.cs:line 231

+ 3 - 0
NetServer/TransitServer/bin/Debug/net7.0/info/2025-02-05_15248.txt

@@ -0,0 +1,3 @@
+2025-02-05 14:58:31.1137|15248|INFO|19|收到一个客户端请求 
+2025-02-05 15:02:56.8192|15248|INFO|22|收到一个客户端请求 
+2025-02-05 15:03:15.0892|15248|INFO|24|收到一个客户端请求 

+ 2 - 0
NetServer/TransitServer/bin/Debug/net7.0/info/2025-02-05_31456.txt

@@ -0,0 +1,2 @@
+2025-02-05 14:54:29.6455|31456|INFO|17|收到一个客户端请求 
+2025-02-05 14:54:59.3654|31456|INFO|22|收到一个客户端请求 

Vissa filer visades inte eftersom för många filer har ändrats