| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- using System.Collections.Concurrent;
 
- using Fort23.UTool;
 
- using NetCore;
 
- using NetCore.ContentParse;
 
- using NetCore.Protocol.MemoryPack;
 
- using NetServer.InternalServer;
 
- using NetServerCore.NetLink;
 
- namespace NetServer.ServerLogic;
 
- public class PublicLogicManager : LogicManagerBaisc<InternalMemoryRequst>
 
- {
 
-     private ConcurrentDictionary<long, IConnection> _concurrentDictionary =
 
-         new ConcurrentDictionary<long, IConnection>();
 
-     public override void Logic(object data, IConnection iConnection)
 
-     {
 
-         LogTool.Log("收到一个客户端请求");
 
-         byte[] databyte = data as byte[];
 
-         int index = 0;
 
-         byte[] serverType = new byte[4];
 
-         serverType[0] = databyte[index++];
 
-         serverType[1] = databyte[index++];
 
-         serverType[2] = databyte[index++];
 
-         serverType[3] = databyte[index++];
 
-         ServerType serverTypeEnum = (ServerType)BitConverter.ToInt32(serverType, 0);
 
-         byte[] TransparentData = new byte[databyte.Length - 4];
 
-         Array.Copy(databyte, 4, TransparentData, 0, TransparentData.Length);
 
-         InternalMemoryResponese internalMemoryResponese = new InternalMemoryResponese();
 
-         internalMemoryResponese.SendType = InternalSendType.Transparent;
 
-         internalMemoryResponese.ClinetConnectionId = iConnection.ConnectionId;
 
-         internalMemoryResponese.TransitData = TransparentData;
 
-         SendInternalServerManager.Instance.SendInternalServer(serverTypeEnum, internalMemoryResponese,
 
-             ResponeseCallBack);
 
-     }
 
-     private void ResponeseCallBack(InternalMemoryRequst internalMemoryRequst)
 
-     {
 
-         if (_concurrentDictionary.TryGetValue(internalMemoryRequst.ResponeseClinetConnectionId,
 
-                 out IConnection iConnection))
 
-         {
 
-             iConnection.SendData(internalMemoryRequst.TransitData);
 
-         }
 
-     }
 
-     public override void AddConnection(IConnection iConnection)
 
-     {
 
-         _concurrentDictionary.TryAdd(iConnection.ConnectionId, iConnection);
 
-     }
 
-     public override void RemoveConnection(IConnection iConnection)
 
-     {
 
-         _concurrentDictionary.TryRemove(iConnection.ConnectionId, out _);
 
-     }
 
- }
 
 
  |