From c9a7ea88b2f479a19eec561f85e64806d111d758 Mon Sep 17 00:00:00 2001
From: milimoe <110188673+milimoe@users.noreply.github.com>
Date: Mon, 10 Apr 2023 00:44:59 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=8A=A8Library.Server=E5=88=B0Librar?=
=?UTF-8?q?y.Common.Architecture=20(#11)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* 移动Library.Server到Library.Common.Architecture
---
Api/Transmittal/MailSender.cs | 2 +-
Api/Transmittal/SQLHelper.cs | 2 +-
FunGame.Core.csproj | 4 ++++
Interface/Base/ISQLHelper.cs | 6 +++---
.../Base/IServerModel.cs | 6 +++---
.../{Server => Common/Architecture}/RoomList.cs | 8 ++++----
.../Architecture}/SQLServerInfo.cs | 2 +-
.../Architecture}/SmtpClientInfo.cs | 2 +-
Library/Common/Network/ServerSocket.cs | 7 +++----
Service/MailManager.cs | 2 +-
Service/ModelManager.cs | 16 ++++++++--------
11 files changed, 30 insertions(+), 27 deletions(-)
rename Library/Server/BaseModel.cs => Interface/Base/IServerModel.cs (87%)
rename Library/{Server => Common/Architecture}/RoomList.cs (95%)
rename Library/{Server => Common/Architecture}/SQLServerInfo.cs (96%)
rename Library/{Server => Common/Architecture}/SmtpClientInfo.cs (94%)
diff --git a/Api/Transmittal/MailSender.cs b/Api/Transmittal/MailSender.cs
index 4d8bec2..086fedc 100644
--- a/Api/Transmittal/MailSender.cs
+++ b/Api/Transmittal/MailSender.cs
@@ -1,7 +1,7 @@
using System.Net.Mail;
+using Milimoe.FunGame.Core.Library.Common.Architecture;
using Milimoe.FunGame.Core.Library.Common.Network;
using Milimoe.FunGame.Core.Library.Constant;
-using Milimoe.FunGame.Core.Library.Server;
using Milimoe.FunGame.Core.Service;
namespace Milimoe.FunGame.Core.Api.Transmittal
diff --git a/Api/Transmittal/SQLHelper.cs b/Api/Transmittal/SQLHelper.cs
index 23f0bf4..4b8e475 100644
--- a/Api/Transmittal/SQLHelper.cs
+++ b/Api/Transmittal/SQLHelper.cs
@@ -1,7 +1,7 @@
using System.Data;
using Milimoe.FunGame.Core.Interface.Base;
+using Milimoe.FunGame.Core.Library.Common.Architecture;
using Milimoe.FunGame.Core.Library.Constant;
-using Milimoe.FunGame.Core.Library.Server;
namespace Milimoe.FunGame.Core.Api.Transmittal
{
diff --git a/FunGame.Core.csproj b/FunGame.Core.csproj
index 0d190d8..9d38ced 100644
--- a/FunGame.Core.csproj
+++ b/FunGame.Core.csproj
@@ -28,4 +28,8 @@
+
+
+
+
diff --git a/Interface/Base/ISQLHelper.cs b/Interface/Base/ISQLHelper.cs
index a671483..7f2dbd6 100644
--- a/Interface/Base/ISQLHelper.cs
+++ b/Interface/Base/ISQLHelper.cs
@@ -1,6 +1,6 @@
-using Milimoe.FunGame.Core.Library.Constant;
-using Milimoe.FunGame.Core.Library.Server;
-using System.Data;
+using System.Data;
+using Milimoe.FunGame.Core.Library.Common.Architecture;
+using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Interface.Base
{
diff --git a/Library/Server/BaseModel.cs b/Interface/Base/IServerModel.cs
similarity index 87%
rename from Library/Server/BaseModel.cs
rename to Interface/Base/IServerModel.cs
index 9d8017a..10b25c3 100644
--- a/Library/Server/BaseModel.cs
+++ b/Interface/Base/IServerModel.cs
@@ -2,15 +2,15 @@
using Milimoe.FunGame.Core.Library.Common.Network;
using Milimoe.FunGame.Core.Library.Constant;
-namespace Milimoe.FunGame.Core.Library.Server
+namespace Milimoe.FunGame.Core.Interface.Base
{
- public abstract class BaseModel
+ public interface IServerModel
{
public abstract bool Running { get; }
public abstract ClientSocket? Socket { get; }
public abstract Task? Task { get; }
- public abstract string ClientName { get; }
public abstract User? User { get; }
+ public abstract string ClientName { get; }
public abstract bool Read(ClientSocket socket);
public abstract bool Send(ClientSocket socket, SocketMessageType type, params object[] objs);
diff --git a/Library/Server/RoomList.cs b/Library/Common/Architecture/RoomList.cs
similarity index 95%
rename from Library/Server/RoomList.cs
rename to Library/Common/Architecture/RoomList.cs
index 514dd25..72c597b 100644
--- a/Library/Server/RoomList.cs
+++ b/Library/Common/Architecture/RoomList.cs
@@ -2,7 +2,7 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Common.Network;
-namespace Milimoe.FunGame.Core.Library.Server
+namespace Milimoe.FunGame.Core.Library.Common.Architecture
{
public class RoomList
{
@@ -22,7 +22,7 @@ namespace Milimoe.FunGame.Core.Library.Server
public Hashtable GetHashTable => _List;
public List GetRoomList => _List.Values.Cast().ToList();
-
+
public List GetRoomIDList => _List.Keys.Cast().ToList();
public void Clear()
@@ -34,7 +34,7 @@ namespace Milimoe.FunGame.Core.Library.Server
{
_List.Add(Room.Roomid, Room);
}
-
+
public void AddRooms(List Rooms)
{
foreach (Room Room in Rooms)
@@ -42,7 +42,7 @@ namespace Milimoe.FunGame.Core.Library.Server
_List.Add(Room.Roomid, Room);
}
}
-
+
public void RemoveRoom(Room Room)
{
_List.Remove(Room.Roomid);
diff --git a/Library/Server/SQLServerInfo.cs b/Library/Common/Architecture/SQLServerInfo.cs
similarity index 96%
rename from Library/Server/SQLServerInfo.cs
rename to Library/Common/Architecture/SQLServerInfo.cs
index 8578dfe..87a430b 100644
--- a/Library/Server/SQLServerInfo.cs
+++ b/Library/Common/Architecture/SQLServerInfo.cs
@@ -1,4 +1,4 @@
-namespace Milimoe.FunGame.Core.Library.Server
+namespace Milimoe.FunGame.Core.Library.Common.Architecture
{
public class SQLServerInfo
{
diff --git a/Library/Server/SmtpClientInfo.cs b/Library/Common/Architecture/SmtpClientInfo.cs
similarity index 94%
rename from Library/Server/SmtpClientInfo.cs
rename to Library/Common/Architecture/SmtpClientInfo.cs
index d220375..5f00536 100644
--- a/Library/Server/SmtpClientInfo.cs
+++ b/Library/Common/Architecture/SmtpClientInfo.cs
@@ -1,6 +1,6 @@
using Milimoe.FunGame.Core.Interface.Base;
-namespace Milimoe.FunGame.Core.Library.Server
+namespace Milimoe.FunGame.Core.Library.Common.Architecture
{
public class SmtpClientInfo : IMailSender
{
diff --git a/Library/Common/Network/ServerSocket.cs b/Library/Common/Network/ServerSocket.cs
index 0e09cdb..761de45 100644
--- a/Library/Common/Network/ServerSocket.cs
+++ b/Library/Common/Network/ServerSocket.cs
@@ -1,6 +1,5 @@
using Milimoe.FunGame.Core.Interface.Base;
using Milimoe.FunGame.Core.Library.Constant;
-using Milimoe.FunGame.Core.Library.Server;
using Milimoe.FunGame.Core.Service;
namespace Milimoe.FunGame.Core.Library.Common.Network
@@ -15,7 +14,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
public string ServerName { get; } = "";
public string ServerNotice { get; } = "";
public bool Connected => Instance != null && Instance.Connected;
- public List GetUsersList => OnlineUsers.GetList();
+ public List GetUsersList => OnlineUsers.GetList();
public List BannedList { get; } = new();
public int UsersCount => OnlineUsers.Count;
public int BannedCount => BannedList.Count;
@@ -52,7 +51,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
throw new SocketGetClientException();
}
- public bool AddUser(string UserName, BaseModel t)
+ public bool AddUser(string UserName, IServerModel t)
{
return OnlineUsers.Add(UserName, t);
}
@@ -67,7 +66,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
return OnlineUsers.ContainsKey(UserName);
}
- public BaseModel GetUser(string UserName)
+ public IServerModel GetUser(string UserName)
{
return OnlineUsers[UserName];
}
diff --git a/Service/MailManager.cs b/Service/MailManager.cs
index c39e983..7078d6b 100644
--- a/Service/MailManager.cs
+++ b/Service/MailManager.cs
@@ -2,10 +2,10 @@
using System.Net;
using System.Net.Mail;
using Milimoe.FunGame.Core.Api.Transmittal;
+using Milimoe.FunGame.Core.Library.Common.Architecture;
using Milimoe.FunGame.Core.Library.Common.Network;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Exception;
-using Milimoe.FunGame.Core.Library.Server;
namespace Milimoe.FunGame.Core.Service
{
diff --git a/Service/ModelManager.cs b/Service/ModelManager.cs
index 447116a..bf15083 100644
--- a/Service/ModelManager.cs
+++ b/Service/ModelManager.cs
@@ -1,5 +1,5 @@
using System.Collections.Concurrent;
-using Milimoe.FunGame.Core.Library.Server;
+using Milimoe.FunGame.Core.Interface.Base;
namespace Milimoe.FunGame.Core.Service
{
@@ -18,7 +18,7 @@ namespace Milimoe.FunGame.Core.Service
///
/// 可参与高并发的字典,但添加效率较低
///
- private ConcurrentDictionary Models { get; } = new();
+ private ConcurrentDictionary Models { get; } = new();
///
/// Init ModelManager
@@ -39,7 +39,7 @@ namespace Milimoe.FunGame.Core.Service
///
/// Model的Key
/// Model对象
- internal BaseModel this[string name] => Models[name];
+ internal IServerModel this[string name] => Models[name];
///
/// 向Model管理器中添加Model
@@ -47,7 +47,7 @@ namespace Milimoe.FunGame.Core.Service
/// Model的Key
/// Model对象
/// True:操作成功
- internal bool Add(string name, BaseModel t)
+ internal bool Add(string name, IServerModel t)
{
if (Models.Count + 1 > MaxModel) return false;
return Models.TryAdd(name, t);
@@ -69,7 +69,7 @@ namespace Milimoe.FunGame.Core.Service
/// Model的Key
/// Model对象
/// 被移除的Model
- internal bool Remove(string name, ref BaseModel? t)
+ internal bool Remove(string name, ref IServerModel? t)
{
return Models.TryRemove(name, out t);
}
@@ -79,9 +79,9 @@ namespace Milimoe.FunGame.Core.Service
///
/// Model的Key
/// 被移除的Model
- internal BaseModel? RemoveAndGet(string name)
+ internal IServerModel? RemoveAndGet(string name)
{
- Models.TryRemove(name, out BaseModel? result);
+ Models.TryRemove(name, out IServerModel? result);
return result;
}
@@ -102,7 +102,7 @@ namespace Milimoe.FunGame.Core.Service
///
/// 获取Model对象的列表
///
- internal List GetList()
+ internal List GetList()
{
return Models.Values.ToList();
}