mirror of
https://github.com/milimoe/FunGame-Testing.git
synced 2025-04-21 19:59:34 +08:00
更新测试
This commit is contained in:
parent
61f43402ec
commit
1e4940bd4e
@ -43,6 +43,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunGame.WebAPI", "..\FunGam
|
|||||||
{94B564CD-7A1E-4B3C-AF78-23EBCD5D627E} = {94B564CD-7A1E-4B3C-AF78-23EBCD5D627E}
|
{94B564CD-7A1E-4B3C-AF78-23EBCD5D627E} = {94B564CD-7A1E-4B3C-AF78-23EBCD5D627E}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OshimaServers", "..\OshimaGameModule\OshimaServers\OshimaServers.csproj", "{C9FF6C3C-D1FC-496D-90EB-3507E6915092}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OshimaMaps", "..\OshimaGameModule\OshimaMaps\OshimaMaps.csproj", "{CDA0BCC1-0097-4D52-9895-A706D0523FBF}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@ -81,6 +85,14 @@ Global
|
|||||||
{D74DF3A2-52E7-4C18-8854-81114558D4B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{D74DF3A2-52E7-4C18-8854-81114558D4B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{D74DF3A2-52E7-4C18-8854-81114558D4B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{D74DF3A2-52E7-4C18-8854-81114558D4B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{D74DF3A2-52E7-4C18-8854-81114558D4B2}.Release|Any CPU.Build.0 = Release|Any CPU
|
{D74DF3A2-52E7-4C18-8854-81114558D4B2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{C9FF6C3C-D1FC-496D-90EB-3507E6915092}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{C9FF6C3C-D1FC-496D-90EB-3507E6915092}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C9FF6C3C-D1FC-496D-90EB-3507E6915092}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{C9FF6C3C-D1FC-496D-90EB-3507E6915092}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{CDA0BCC1-0097-4D52-9895-A706D0523FBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{CDA0BCC1-0097-4D52-9895-A706D0523FBF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{CDA0BCC1-0097-4D52-9895-A706D0523FBF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{CDA0BCC1-0097-4D52-9895-A706D0523FBF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Milimoe.FunGame.Core.Api.Utility;
|
using Milimoe.FunGame.Core.Api.Utility;
|
||||||
using Milimoe.FunGame.Core.Entity;
|
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
|
||||||
using Oshima.Core.Controllers;
|
using Oshima.Core.Controllers;
|
||||||
using Oshima.Core.Utils;
|
|
||||||
using Oshima.FunGame.OshimaModules;
|
using Oshima.FunGame.OshimaModules;
|
||||||
using Oshima.FunGame.OshimaModules.Characters;
|
using Oshima.FunGame.OshimaServers.Service;
|
||||||
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
|
|
||||||
|
|
||||||
_ = new Milimoe.FunGame.Testing.Tests.WebSocketTest();
|
_ = new Milimoe.FunGame.Testing.Tests.WebSocketTest();
|
||||||
|
|
||||||
|
@ -5,11 +5,13 @@ using Milimoe.FunGame.Core.Controller;
|
|||||||
using Milimoe.FunGame.Core.Entity;
|
using Milimoe.FunGame.Core.Entity;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Network;
|
using Milimoe.FunGame.Core.Library.Common.Network;
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
using Milimoe.FunGame.Core.Library.Constant;
|
||||||
|
using Oshima.FunGame.OshimaModules;
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Testing.Tests
|
namespace Milimoe.FunGame.Testing.Tests
|
||||||
{
|
{
|
||||||
public class WebSocketTestRunTime : RunTimeController
|
public class WebSocketTestRunTime : RunTimeController
|
||||||
{
|
{
|
||||||
|
public Guid LoginKey { get; set; } = Guid.Empty;
|
||||||
public bool Quit { get; set; } = false;
|
public bool Quit { get; set; } = false;
|
||||||
|
|
||||||
public override bool BeforeConnect(ref string addr, ref int port, ArrayList args)
|
public override bool BeforeConnect(ref string addr, ref int port, ArrayList args)
|
||||||
@ -37,7 +39,7 @@ namespace Milimoe.FunGame.Testing.Tests
|
|||||||
|
|
||||||
public async Task CheckInput(string str)
|
public async Task CheckInput(string str)
|
||||||
{
|
{
|
||||||
if (WebSocket is null || Quit)
|
if (HTTPClient is null || Quit)
|
||||||
{
|
{
|
||||||
if (str == "retry")
|
if (str == "retry")
|
||||||
{
|
{
|
||||||
@ -52,50 +54,147 @@ namespace Milimoe.FunGame.Testing.Tests
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (str == "wstest")
|
||||||
|
{
|
||||||
|
await HTTPClient.Send(SocketMessageType.AnonymousGameServer, OshimaGameModuleConstant.Anonymous);
|
||||||
|
}
|
||||||
|
if (str == "wsclose")
|
||||||
|
{
|
||||||
|
await HTTPClient.Send(SocketMessageType.EndGame);
|
||||||
|
}
|
||||||
|
if (str == "fungametest")
|
||||||
|
{
|
||||||
|
Console.WriteLine(string.Join("\r\n", await HTTPClient.HttpGet<List<string>>("http://localhost:5000/fungame/test") ?? []));
|
||||||
|
}
|
||||||
if (str == "quit")
|
if (str == "quit")
|
||||||
{
|
{
|
||||||
await WebSocket.Send(SocketMessageType.Disconnect);
|
Quit = true;
|
||||||
|
}
|
||||||
|
if (str == "disc")
|
||||||
|
{
|
||||||
|
if (LoginKey != Guid.Empty) await LogOut();
|
||||||
|
await HTTPClient.Send(SocketMessageType.Disconnect);
|
||||||
}
|
}
|
||||||
if (str == "login")
|
if (str == "login")
|
||||||
{
|
{
|
||||||
DataRequest request = NewDataRequest(DataRequestType.Login_Login);
|
string username = "test";
|
||||||
request.AddRequestData("username", "mili");
|
string password = "123123";
|
||||||
request.AddRequestData("password", Encryption.HmacSha512("123123", "Mili"));
|
await Login(username, password);
|
||||||
request.AddRequestData("autokey", "");
|
}
|
||||||
request.AddRequestData("key", Guid.Empty);
|
if (str == "reg")
|
||||||
await request.SendRequestAsync();
|
{
|
||||||
if (request.Result == RequestResult.Success)
|
string username = "test2";
|
||||||
|
string password = "123123";
|
||||||
|
string email = "1231232@qq.com";
|
||||||
|
await Reg(username, password, email);
|
||||||
|
}
|
||||||
|
if (str == "logout")
|
||||||
|
{
|
||||||
|
await LogOut();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task Reg(string username, string password, string email)
|
||||||
|
{
|
||||||
|
DataRequest request = NewDataRequest(DataRequestType.Reg_Reg);
|
||||||
|
request.AddRequestData("username", username);
|
||||||
|
request.AddRequestData("password", Encryption.HmacSha512(password, username));
|
||||||
|
request.AddRequestData("email", email);
|
||||||
|
request.AddRequestData("verifycode", ""); // 初始验证码为空,请求发送验证码
|
||||||
|
await request.SendRequestAsync();
|
||||||
|
|
||||||
|
if (request.Result == RequestResult.Success)
|
||||||
|
{
|
||||||
|
string msg = request.GetResult<string>("msg") ?? "";
|
||||||
|
RegInvokeType type = request.GetResult<RegInvokeType>("type");
|
||||||
|
if (msg != "") Console.WriteLine(msg);
|
||||||
|
|
||||||
|
if (type == RegInvokeType.InputVerifyCode)
|
||||||
{
|
{
|
||||||
string msg = request.GetResult<string>("msg") ?? "";
|
bool success = false;
|
||||||
if (msg != "")
|
do
|
||||||
{
|
{
|
||||||
Console.WriteLine(msg);
|
Console.Write("请输入收到的验证码:");
|
||||||
}
|
string verifycode = Console.ReadLine() ?? "";
|
||||||
else
|
if (verifycode == "q!")
|
||||||
{
|
|
||||||
Guid loginKey = request.GetResult<Guid>("key");
|
|
||||||
if (loginKey != Guid.Empty)
|
|
||||||
{
|
{
|
||||||
request = NewDataRequest(DataRequestType.Login_Login);
|
Console.WriteLine("取消注册操作。");
|
||||||
request.AddRequestData("username", "username");
|
break;
|
||||||
request.AddRequestData("password", Encryption.HmacSha512("password", "username"));
|
}
|
||||||
request.AddRequestData("autokey", "");
|
request = NewDataRequest(DataRequestType.Reg_Reg);
|
||||||
request.AddRequestData("key", loginKey);
|
request.AddRequestData("username", username);
|
||||||
await request.SendRequestAsync();
|
request.AddRequestData("password", Encryption.HmacSha512(password, username));
|
||||||
if (request.Result == RequestResult.Success)
|
request.AddRequestData("email", email);
|
||||||
|
request.AddRequestData("verifycode", verifycode);
|
||||||
|
await request.SendRequestAsync();
|
||||||
|
|
||||||
|
if (request.Result == RequestResult.Success)
|
||||||
|
{
|
||||||
|
msg = request.GetResult<string>("msg") ?? "";
|
||||||
|
success = request.GetResult<bool>("success");
|
||||||
|
if (msg != "") Console.WriteLine(msg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("请求服务器失败!");
|
||||||
|
}
|
||||||
|
} while (!success);
|
||||||
|
}
|
||||||
|
else if (type == RegInvokeType.DuplicateUserName)
|
||||||
|
{
|
||||||
|
Console.WriteLine("用户名已被注册!");
|
||||||
|
}
|
||||||
|
else if (type == RegInvokeType.DuplicateEmail)
|
||||||
|
{
|
||||||
|
Console.WriteLine("邮箱已被注册!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("注册请求失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task Login(string username, string password)
|
||||||
|
{
|
||||||
|
DataRequest request = NewDataRequest(DataRequestType.Login_Login);
|
||||||
|
request.AddRequestData("username", username);
|
||||||
|
request.AddRequestData("password", Encryption.HmacSha512(password, username));
|
||||||
|
request.AddRequestData("autokey", "");
|
||||||
|
request.AddRequestData("key", Guid.Empty);
|
||||||
|
await request.SendRequestAsync();
|
||||||
|
if (request.Result == RequestResult.Success)
|
||||||
|
{
|
||||||
|
string msg = request.GetResult<string>("msg") ?? "";
|
||||||
|
if (msg != "")
|
||||||
|
{
|
||||||
|
Console.WriteLine(msg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Guid loginKey = request.GetResult<Guid>("key");
|
||||||
|
if (loginKey != Guid.Empty)
|
||||||
|
{
|
||||||
|
request = NewDataRequest(DataRequestType.Login_Login);
|
||||||
|
request.AddRequestData("username", "username");
|
||||||
|
request.AddRequestData("password", Encryption.HmacSha512("password", "username"));
|
||||||
|
request.AddRequestData("autokey", "");
|
||||||
|
request.AddRequestData("key", loginKey);
|
||||||
|
await request.SendRequestAsync();
|
||||||
|
if (request.Result == RequestResult.Success)
|
||||||
|
{
|
||||||
|
msg = request.GetResult<string>("msg") ?? "";
|
||||||
|
if (msg != "")
|
||||||
{
|
{
|
||||||
msg = request.GetResult<string>("msg") ?? "";
|
Console.WriteLine(msg);
|
||||||
if (msg != "")
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
User? user = request.GetResult<User>("user");
|
||||||
|
if (user != null)
|
||||||
{
|
{
|
||||||
Console.WriteLine(msg);
|
Console.WriteLine("登录用户完成:" + user.Username);
|
||||||
}
|
LoginKey = loginKey;
|
||||||
else
|
|
||||||
{
|
|
||||||
User? user = request.GetResult<User>("user");
|
|
||||||
if (user != null)
|
|
||||||
{
|
|
||||||
Console.WriteLine("登录用户完成:" + user.Username);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -104,9 +203,44 @@ namespace Milimoe.FunGame.Testing.Tests
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task LogOut()
|
||||||
|
{
|
||||||
|
DataRequest request = NewDataRequest(DataRequestType.RunTime_Logout);
|
||||||
|
request.AddRequestData("key", LoginKey);
|
||||||
|
await request.SendRequestAsync();
|
||||||
|
|
||||||
|
if (request.Result == RequestResult.Success)
|
||||||
|
{
|
||||||
|
string msg = request.GetResult<string>("msg") ?? "";
|
||||||
|
Guid key = request.GetResult<Guid>("key");
|
||||||
|
Console.WriteLine(msg);
|
||||||
|
if (key != Guid.Empty)
|
||||||
|
{
|
||||||
|
LoginKey = Guid.Empty;
|
||||||
|
Console.WriteLine("退出登录成功!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("退出登录失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("退出登录请求失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override void Error(Exception e)
|
public override void Error(Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine(e.ToString());
|
Console.WriteLine(e.ToString());
|
||||||
|
TaskUtility.NewTask(async () =>
|
||||||
|
{
|
||||||
|
if (HTTPClient != null)
|
||||||
|
{
|
||||||
|
await HTTPClient.Send(SocketMessageType.Disconnect);
|
||||||
|
Close_WebSocket();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void WritelnSystemInfo(string msg)
|
public override void WritelnSystemInfo(string msg)
|
||||||
@ -116,13 +250,23 @@ namespace Milimoe.FunGame.Testing.Tests
|
|||||||
|
|
||||||
protected override void SocketHandler_Disconnect(SocketObject ServerMessage)
|
protected override void SocketHandler_Disconnect(SocketObject ServerMessage)
|
||||||
{
|
{
|
||||||
Quit = true;
|
Console.WriteLine("断开服务器连接成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void SocketHandler_HeartBeat(SocketObject ServerMessage)
|
protected override void SocketHandler_HeartBeat(SocketObject ServerMessage)
|
||||||
{
|
{
|
||||||
Console.WriteLine("服务器连接成功");
|
Console.WriteLine("服务器连接成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void SocketHandler_AnonymousGameServer(SocketObject ServerMessage)
|
||||||
|
{
|
||||||
|
Dictionary<string, object> data = ServerMessage.GetParam<Dictionary<string, object>>(0) ?? [];
|
||||||
|
if (data.Count > 0)
|
||||||
|
{
|
||||||
|
string msg = NetworkUtility.JsonDeserializeFromDictionary<string>(data, "msg") ?? "";
|
||||||
|
if (msg != "") Console.WriteLine(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WebSocketTest
|
public class WebSocketTest
|
||||||
@ -138,7 +282,7 @@ namespace Milimoe.FunGame.Testing.Tests
|
|||||||
{
|
{
|
||||||
if (str == "quit")
|
if (str == "quit")
|
||||||
{
|
{
|
||||||
Console.WriteLine("断开服务器连接成功!");
|
Console.WriteLine("退出ws测试!");
|
||||||
Console.ReadLine();
|
Console.ReadLine();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user