明显区分Socket和DataRequest (#50)

* 明显区分Socket和DataRequest

* 删除了SocketHandler_Connect方法
This commit is contained in:
milimoe 2023-08-31 19:40:06 +08:00 committed by GitHub
parent a814997a4a
commit b9d9932ac2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 53 additions and 85 deletions

View File

@ -204,14 +204,25 @@ namespace Milimoe.FunGame.Core.Api.Transmittal
{
return type switch
{
DataRequestType.RunTime_Connect => DataRequestSet.RunTime_Connect,
DataRequestType.RunTime_Reg => DataRequestSet.RunTime_Reg,
DataRequestType.RunTime_CheckReg => DataRequestSet.RunTime_CheckReg,
DataRequestType.RunTime_Login => DataRequestSet.RunTime_Login,
DataRequestType.RunTime_CheckLogin => DataRequestSet.RunTime_CheckLogin,
DataRequestType.RunTime_Logout => DataRequestSet.RunTime_Logout,
DataRequestType.RunTime_Disconnect => DataRequestSet.RunTime_Disconnect,
DataRequestType.Main_GetNotice => DataRequestSet.Main_GetNotice,
DataRequestType.Main_CreateRoom => DataRequestSet.Main_CreateRoom,
DataRequestType.Main_UpdateRoom => DataRequestSet.Main_UpdateRoom,
DataRequestType.Main_IntoRoom => DataRequestSet.Main_IntoRoom,
DataRequestType.Main_QuitRoom => DataRequestSet.Main_QuitRoom,
DataRequestType.Main_MatchRoom => DataRequestSet.Main_MatchRoom,
DataRequestType.Reg_GetRegVerifyCode => DataRequestSet.Reg_GetRegVerifyCode,
DataRequestType.Login_GetFindPasswordVerifyCode => DataRequestSet.Login_GetFindPasswordVerifyCode,
DataRequestType.Login_UpdatePassword => DataRequestSet.Login_UpdatePassword,
DataRequestType.Room_GetRoomSettings => DataRequestSet.Room_GetRoomSettings,
DataRequestType.Room_GetRoomPlayerCount => DataRequestSet.Room_GetRoomPlayerCount,
DataRequestType.Room_UpdateRoomMaster => DataRequestSet.Room_UpdateRoomMaster,
_ => DataRequestSet.UnKnown
};
}

View File

@ -47,7 +47,7 @@ namespace Milimoe.FunGame.Core.Controller
try
{
result = _Socket?.Send(SocketMessageType.RunTime_Disconnect, "") == SocketResult.Success;
result = _Socket?.Send(SocketMessageType.Disconnect, "") == SocketResult.Success;
}
catch (Exception e)
{
@ -217,15 +217,11 @@ namespace Milimoe.FunGame.Core.Controller
result = type;
switch (type)
{
case SocketMessageType.RunTime_Connect:
if (!SocketHandler_Connect(ServerMessage)) return SocketMessageType.Unknown;
break;
case SocketMessageType.RunTime_Disconnect:
case SocketMessageType.Disconnect:
SocketHandler_Disconnect(ServerMessage);
break;
case SocketMessageType.RunTime_HeartBeat:
case SocketMessageType.HeartBeat:
if (_Socket != null && _Socket.Connected)
{
SocketHandler_HeartBeat(ServerMessage);
@ -247,20 +243,13 @@ namespace Milimoe.FunGame.Core.Controller
}
/// <summary>
/// 连接服务器的处理方法
/// </summary>
/// <param name="ServerMessage"></param>
/// <returns></returns>
protected abstract bool SocketHandler_Connect(SocketObject ServerMessage);
/// <summary>
/// 与服务器断开连接的处理方法
/// 客户端接收到服务器断开连接的通知后的处理方法
/// </summary>
/// <param name="ServerMessage"></param>
protected abstract void SocketHandler_Disconnect(SocketObject ServerMessage);
/// <summary>
/// 心跳检测处理方法
/// 客户端接收到服务器心跳后的处理方法
/// </summary>
/// <param name="ServerMessage"></param>
protected abstract void SocketHandler_HeartBeat(SocketObject ServerMessage);

View File

@ -59,7 +59,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
try
{
SocketObject result = SocketManager.Receive();
if (result.SocketType == SocketMessageType.RunTime_HeartBeat)
if (result.SocketType == SocketMessageType.HeartBeat)
{
if (WaitHeartBeatReply != null && !WaitHeartBeatReply.IsCompleted) WaitHeartBeatReply.Wait(1);
_HeartBeatFaileds = 0;
@ -79,7 +79,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
SocketObject[] result = SocketManager.ReceiveArray();
foreach (SocketObject obj in result)
{
if (obj.SocketType == SocketMessageType.RunTime_HeartBeat)
if (obj.SocketType == SocketMessageType.HeartBeat)
{
if (WaitHeartBeatReply != null && !WaitHeartBeatReply.IsCompleted) WaitHeartBeatReply.Wait(1);
_HeartBeatFaileds = 0;
@ -155,7 +155,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
{
if (!SendingHeartBeat) _SendingHeartBeat= true;
// 发送心跳包
if (Send(SocketMessageType.RunTime_HeartBeat) == SocketResult.Success)
if (Send(SocketMessageType.HeartBeat) == SocketResult.Success)
{
WaitHeartBeatReply = Task.Run(() =>
{

View File

@ -34,33 +34,9 @@ namespace Milimoe.FunGame.Core.Library.Constant
public const string Socket = "Socket";
public const string Unknown = "Unknown";
public const string DataRequest = "DataRequest";
/**
* RunTime
*/
public const string RunTime_Connect = "RunTime::Connect";
public const string RunTime_Reg = "RunTime::Reg";
public const string RunTime_CheckReg = "RunTime::CheckReg";
public const string RunTime_Login = "RunTime::Login";
public const string RunTime_CheckLogin = "RunTime::CheckLogin";
public const string RunTime_Logout = "RunTime::Logout";
public const string RunTime_Disconnect = "RunTime::Disconnect";
public const string RunTime_HeartBeat = "RunTime::HeartBeat";
/**
* Main
*/
public const string Main_GetNotice = "Main::GetNotice";
public const string Main_IntoRoom = "Main::IntoRoom";
public const string Main_QuitRoom = "Main::QuitRoom";
public const string Main_Chat = "Main::Chat";
public const string Main_CreateRoom = "Main::CreateRoom";
public const string Main_UpdateRoom = "Main::UpdateRoom";
public const string Main_MatchRoom = "Main::MatchRoom";
/**
* Room
*/
public const string Room_ChangeRoomSetting = "Room::ChangeRoomSetting";
public const string Room_UpdateRoomMaster = "Room::UpdateRoomMaster";
public const string Room_GetRoomPlayerCount = "Room::GetRoomPlayerCount";
public const string Disconnect = "Disconnect";
public const string HeartBeat = "HeartBeat";
public const string ForceLogout = "ForceLogout";
}
/// <summary>
@ -71,12 +47,25 @@ namespace Milimoe.FunGame.Core.Library.Constant
public class DataRequestSet
{
public const string UnKnown = "UnKnown";
/**
* RunTime
*/
public const string RunTime_Connect = "RunTime::Connect";
public const string RunTime_Reg = "RunTime::Reg";
public const string RunTime_CheckReg = "RunTime::CheckReg";
public const string RunTime_Login = "RunTime::Login";
public const string RunTime_CheckLogin = "RunTime::CheckLogin";
public const string RunTime_Logout = "RunTime::Logout";
public const string RunTime_Disconnect = "RunTime::Disconnect";
/**
* Main
*/
public const string Main_GetNotice = "Main::GetNotice";
public const string Main_IntoRoom = "Main::IntoRoom";
public const string Main_QuitRoom = "Main::QuitRoom";
public const string Main_CreateRoom = "Main::CreateRoom";
public const string Main_UpdateRoom = "Main::UpdateRoom";
public const string Main_MatchRoom = "Main::MatchRoom";
/**
* Register
*/
@ -91,6 +80,7 @@ namespace Milimoe.FunGame.Core.Library.Constant
*/
public const string Room_GetRoomSettings = "Room::GetRoomSettings";
public const string Room_GetRoomPlayerCount = "Room::GetRoomPlayerCount";
public const string Room_UpdateRoomMaster = "Room::UpdateRoomMaster";
}
public class ReflectionSet

View File

@ -59,25 +59,9 @@ namespace Milimoe.FunGame.Core.Library.Constant
{
Unknown,
DataRequest,
RunTime_Connect,
RunTime_Reg,
RunTime_CheckReg,
RunTime_Login,
RunTime_CheckLogin,
RunTime_Logout,
RunTime_ForceLogout,
RunTime_Disconnect,
RunTime_HeartBeat,
Main_GetNotice,
Main_IntoRoom,
Main_QuitRoom,
Main_Chat,
Main_CreateRoom,
Main_UpdateRoom,
Main_MatchRoom,
Room_ChangeRoomSetting,
Room_UpdateRoomMaster,
Room_GetRoomPlayerCount
Disconnect,
HeartBeat,
ForceLogout
}
/// <summary>
@ -86,16 +70,25 @@ namespace Milimoe.FunGame.Core.Library.Constant
public enum DataRequestType
{
UnKnown,
RunTime_Connect,
RunTime_Reg,
RunTime_CheckReg,
RunTime_Login,
RunTime_CheckLogin,
RunTime_Logout,
RunTime_Disconnect,
Main_GetNotice,
Main_CreateRoom,
Main_UpdateRoom,
Main_IntoRoom,
Main_QuitRoom,
Reg_GetRegVerifyCode,
Main_MatchRoom,
Reg_GetRegVerifyCode,
Login_GetFindPasswordVerifyCode,
Login_UpdatePassword,
Room_GetRoomSettings,
Room_GetRoomPlayerCount
Room_GetRoomPlayerCount,
Room_UpdateRoomMaster
}
public enum SocketRuntimeType

View File

@ -257,24 +257,9 @@ namespace Milimoe.FunGame.Core.Service
return type switch
{
SocketMessageType.DataRequest => SocketSet.DataRequest,
SocketMessageType.RunTime_Connect => SocketSet.RunTime_Connect,
SocketMessageType.RunTime_Reg => SocketSet.RunTime_Reg,
SocketMessageType.RunTime_CheckReg => SocketSet.RunTime_CheckReg,
SocketMessageType.RunTime_Login => SocketSet.RunTime_Login,
SocketMessageType.RunTime_CheckLogin => SocketSet.RunTime_CheckLogin,
SocketMessageType.RunTime_Logout => SocketSet.RunTime_Logout,
SocketMessageType.RunTime_Disconnect => SocketSet.RunTime_Disconnect,
SocketMessageType.RunTime_HeartBeat => SocketSet.RunTime_HeartBeat,
SocketMessageType.Main_GetNotice => SocketSet.Main_GetNotice,
SocketMessageType.Main_IntoRoom => SocketSet.Main_IntoRoom,
SocketMessageType.Main_QuitRoom => SocketSet.Main_QuitRoom,
SocketMessageType.Main_Chat => SocketSet.Main_Chat,
SocketMessageType.Main_CreateRoom => SocketSet.Main_CreateRoom,
SocketMessageType.Main_UpdateRoom => SocketSet.Main_UpdateRoom,
SocketMessageType.Main_MatchRoom => SocketSet.Main_MatchRoom,
SocketMessageType.Room_ChangeRoomSetting => SocketSet.Room_ChangeRoomSetting,
SocketMessageType.Room_UpdateRoomMaster => SocketSet.Room_UpdateRoomMaster,
SocketMessageType.Room_GetRoomPlayerCount => SocketSet.Room_GetRoomPlayerCount,
SocketMessageType.Disconnect => SocketSet.Disconnect,
SocketMessageType.HeartBeat => SocketSet.HeartBeat,
SocketMessageType.ForceLogout => SocketSet.ForceLogout,
_ => SocketSet.Unknown,
};
}