重新封装SocketManager

This commit is contained in:
Mili 2023-03-11 01:05:47 +08:00
parent d582dd753f
commit ec596e964e
2 changed files with 22 additions and 22 deletions

View File

@ -8,7 +8,7 @@ using Milimoe.FunGame.Server.Others;
using Milimoe.FunGame.Server.Utility; using Milimoe.FunGame.Server.Utility;
Console.Title = Config.ServerName; Console.Title = Config.ServerName;
Console.WriteLine(FunGameInfo.GetInfo((FunGameInfo.FunGame)Config.FunGameType)); Console.WriteLine(FunGameInfo.GetInfo(Config.FunGameType));
bool Running = true; bool Running = true;
ServerSocket? ListeningSocket = null; ServerSocket? ListeningSocket = null;
@ -148,10 +148,10 @@ void StartServer()
bool Read(ClientSocket socket) bool Read(ClientSocket socket)
{ {
// 接收客户端消息 // 接收客户端消息
byte[] buffer = new byte[2048]; byte[] buffer = new byte[General.SocketByteSize];
object[] read = socket.Receive(); SocketObject read = socket.Receive();
SocketMessageType type = (SocketMessageType)read[0]; SocketMessageType type = read.SocketType;
object[] objs = (object[])read[2]; object[] objs = read.Parameters;
if (type != SocketMessageType.Unknown) if (type != SocketMessageType.Unknown)
{ {
if (objs[0] != null && objs[0].GetType() == typeof(string) && objs[0].ToString()!.Trim() != "") if (objs[0] != null && objs[0].GetType() == typeof(string) && objs[0].ToString()!.Trim() != "")

View File

@ -56,10 +56,10 @@ namespace Milimoe.FunGame.Server.Model
// 接收客户端消息 // 接收客户端消息
try try
{ {
object[] objs = socket.Receive(); SocketObject SocketObject = socket.Receive();
SocketMessageType type = (SocketMessageType)objs[0]; SocketMessageType type = SocketObject.SocketType;
Guid token = (Guid)objs[1]; Guid token = SocketObject.Token;
object[] args = (object[])objs[2]; object[] args = SocketObject.Parameters;
string msg = ""; string msg = "";
// 如果不等于这些Type就不会输出一行记录。这些Type有特定的输出。 // 如果不等于这些Type就不会输出一行记录。这些Type有特定的输出。
@ -84,9 +84,9 @@ namespace Milimoe.FunGame.Server.Model
if (args != null) if (args != null)
{ {
string? username = "", password = "", autokey = ""; string? username = "", password = "", autokey = "";
if (args.Length > 0) username = NetworkUtility.ConvertJsonObject<string>(args[0]); if (args.Length > 0) username = SocketObject.GetParam<string>(0);
if (args.Length > 1) password = NetworkUtility.ConvertJsonObject<string>(args[1]); if (args.Length > 1) password = SocketObject.GetParam<string>(1);
if (args.Length > 2) autokey = NetworkUtility.ConvertJsonObject<string>(args[2]); if (args.Length > 2) autokey = SocketObject.GetParam<string>(2);
if (username != null && password != null) if (username != null && password != null)
{ {
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] UserName: " + username); ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] UserName: " + username);
@ -111,7 +111,7 @@ namespace Milimoe.FunGame.Server.Model
case SocketMessageType.CheckLogin: case SocketMessageType.CheckLogin:
if (args != null && args.Length > 0) if (args != null && args.Length > 0)
{ {
Guid checkloginkey = NetworkUtility.ConvertJsonObject<Guid>(args[0]); Guid checkloginkey = SocketObject.GetParam<Guid>(0);
if (CheckLoginKey.Equals(checkloginkey)) if (CheckLoginKey.Equals(checkloginkey))
{ {
// 创建User对象 // 创建User对象
@ -134,7 +134,7 @@ namespace Milimoe.FunGame.Server.Model
Guid checklogoutkey = Guid.Empty; Guid checklogoutkey = Guid.Empty;
if (args != null && args.Length > 0) if (args != null && args.Length > 0)
{ {
checklogoutkey = NetworkUtility.ConvertJsonObject<Guid>(args[0]); checklogoutkey = SocketObject.GetParam<Guid>(0);
if (CheckLoginKey.Equals(checklogoutkey)) if (CheckLoginKey.Equals(checklogoutkey))
{ {
// 从玩家列表移除 // 从玩家列表移除
@ -159,12 +159,12 @@ namespace Milimoe.FunGame.Server.Model
case SocketMessageType.IntoRoom: case SocketMessageType.IntoRoom:
msg = "-1"; msg = "-1";
if (args != null && args.Length > 0) msg = NetworkUtility.ConvertJsonObject<string>(args[0])!; if (args != null && args.Length > 0) msg = SocketObject.GetParam<string>(0)!;
RoomID = msg; RoomID = msg;
break; break;
case SocketMessageType.Chat: case SocketMessageType.Chat:
if (args != null && args.Length > 0) msg = NetworkUtility.ConvertJsonObject<string>(args[0])!; if (args != null && args.Length > 0) msg = SocketObject.GetParam<string>(0)!;
ServerHelper.WriteLine(msg); ServerHelper.WriteLine(msg);
foreach (ServerModel Client in Server.GetUsersList.Cast<ServerModel>()) foreach (ServerModel Client in Server.GetUsersList.Cast<ServerModel>())
{ {
@ -182,8 +182,8 @@ namespace Milimoe.FunGame.Server.Model
if (args != null) if (args != null)
{ {
string? username = "", email = ""; string? username = "", email = "";
if (args.Length > 0) username = NetworkUtility.ConvertJsonObject<string>(args[0]); if (args.Length > 0) username = SocketObject.GetParam<string>(0);
if (args.Length > 1) email = NetworkUtility.ConvertJsonObject<string>(args[1]); if (args.Length > 1) email = SocketObject.GetParam<string>(1);
if (username != null && email != null) if (username != null && email != null)
{ {
// 先检查账号是否重复 // 先检查账号是否重复
@ -254,10 +254,10 @@ namespace Milimoe.FunGame.Server.Model
if (args != null) if (args != null)
{ {
string? username = "", password = "", email = "", verifycode = ""; string? username = "", password = "", email = "", verifycode = "";
if (args.Length > 0) username = NetworkUtility.ConvertJsonObject<string>(args[0]); if (args.Length > 0) username = SocketObject.GetParam<string>(0);
if (args.Length > 1) password = NetworkUtility.ConvertJsonObject<string>(args[1]); if (args.Length > 1) password = SocketObject.GetParam<string>(1);
if (args.Length > 2) email = NetworkUtility.ConvertJsonObject<string>(args[2]); if (args.Length > 2) email = SocketObject.GetParam<string>(2);
if (args.Length > 3) verifycode = NetworkUtility.ConvertJsonObject<string>(args[3]); if (args.Length > 3) verifycode = SocketObject.GetParam<string>(3);
if (username != null && password != null && email != null && verifycode != null) if (username != null && password != null && email != null && verifycode != null)
{ {
// 先检查验证码 // 先检查验证码