mirror of
https://github.com/project-redbud/FunGame-Server.git
synced 2025-04-23 04:29:38 +08:00
删除DataRequestHandler中强制的SQL事务
This commit is contained in:
parent
359159b58a
commit
9e64b854aa
@ -489,26 +489,28 @@ namespace Milimoe.FunGame.Server.Controller
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// 发送验证码,需要先删除之前过期的验证码
|
// 发送验证码,需要先删除之前过期的验证码
|
||||||
|
SQLHelper.NewTransaction();
|
||||||
SQLHelper.Execute(RegVerifyCodes.Delete_RegVerifyCode(username, email));
|
SQLHelper.Execute(RegVerifyCodes.Delete_RegVerifyCode(username, email));
|
||||||
RegVerify = Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 6);
|
RegVerify = Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 6);
|
||||||
SQLHelper.Execute(RegVerifyCodes.Insert_RegVerifyCode(username, email, RegVerify));
|
SQLHelper.Execute(RegVerifyCodes.Insert_RegVerifyCode(username, email, RegVerify));
|
||||||
if (SQLHelper.Result == SQLResult.Success)
|
if (SQLHelper.Result == SQLResult.Success)
|
||||||
{
|
{
|
||||||
|
SQLHelper.Commit();
|
||||||
if (MailSender != null)
|
if (MailSender != null)
|
||||||
{
|
{
|
||||||
// 发送验证码
|
// 发送验证码
|
||||||
string ServerName = Config.ServerName;
|
string ServerName = Config.ServerName;
|
||||||
string Subject = $"[{ServerName}] FunGame 注册验证码";
|
string Subject = $"[{ServerName}] FunGame 注册验证码";
|
||||||
string Body = $"亲爱的 {username}, <br/> 感谢您注册[{ServerName}],您的验证码是 {RegVerify} ,10分钟内有效,请及时输入!<br/><br/>{ServerName}<br/>{DateTimeUtility.GetDateTimeToString(TimeType.DateOnly)}";
|
string Body = $"亲爱的 {username}, <br/> 感谢您注册[{ServerName}],您的验证码是 {RegVerify} ,10分钟内有效,请及时输入!<br/><br/>{ServerName}<br/>{DateTimeUtility.GetDateTimeToString(TimeType.LongDateOnly)}";
|
||||||
string[] To = new string[] { email };
|
string[] To = [email];
|
||||||
if (MailSender.Send(MailSender.CreateMail(Subject, Body, System.Net.Mail.MailPriority.Normal, true, To)) == MailSendResult.Success)
|
if (MailSender.Send(MailSender.CreateMail(Subject, Body, System.Net.Mail.MailPriority.Normal, true, To)) == MailSendResult.Success)
|
||||||
{
|
{
|
||||||
ServerHelper.WriteLine(Server.GetClientName() + $" 已向{email}发送验证码:{RegVerify}");
|
ServerHelper.WriteLine(Server.GetClientName() + $" 已向{email}发送验证码:{RegVerify}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ServerHelper.WriteLine(Server.GetClientName() + " 无法发送验证码");
|
ServerHelper.WriteLine(Server.GetClientName() + " 无法发送验证码", InvokeMessageType.Error);
|
||||||
ServerHelper.WriteLine(MailSender.ErrorMsg);
|
ServerHelper.WriteLine(MailSender.ErrorMsg, InvokeMessageType.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // 不使用MailSender的情况
|
else // 不使用MailSender的情况
|
||||||
@ -517,6 +519,7 @@ namespace Milimoe.FunGame.Server.Controller
|
|||||||
}
|
}
|
||||||
returnType = RegInvokeType.InputVerifyCode;
|
returnType = RegInvokeType.InputVerifyCode;
|
||||||
}
|
}
|
||||||
|
else SQLHelper.Rollback();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -540,6 +543,7 @@ namespace Milimoe.FunGame.Server.Controller
|
|||||||
// 注册
|
// 注册
|
||||||
if (RegVerify.Equals(SQLHelper.DataSet.Tables[0].Rows[0][RegVerifyCodes.Column_RegVerifyCode]))
|
if (RegVerify.Equals(SQLHelper.DataSet.Tables[0].Rows[0][RegVerifyCodes.Column_RegVerifyCode]))
|
||||||
{
|
{
|
||||||
|
SQLHelper.NewTransaction();
|
||||||
ServerHelper.WriteLine("[Reg] UserName: " + username + " Email: " + email);
|
ServerHelper.WriteLine("[Reg] UserName: " + username + " Email: " + email);
|
||||||
SQLHelper.Execute(UserQuery.Insert_Register(username, password, email, Server.Socket?.ClientIP ?? ""));
|
SQLHelper.Execute(UserQuery.Insert_Register(username, password, email, Server.Socket?.ClientIP ?? ""));
|
||||||
if (SQLHelper.Result == SQLResult.Success)
|
if (SQLHelper.Result == SQLResult.Success)
|
||||||
@ -547,9 +551,11 @@ namespace Milimoe.FunGame.Server.Controller
|
|||||||
success = true;
|
success = true;
|
||||||
msg = "注册成功!请牢记您的账号与密码!";
|
msg = "注册成功!请牢记您的账号与密码!";
|
||||||
SQLHelper.Execute(RegVerifyCodes.Delete_RegVerifyCode(username, email));
|
SQLHelper.Execute(RegVerifyCodes.Delete_RegVerifyCode(username, email));
|
||||||
|
SQLHelper.Commit();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
SQLHelper.Rollback();
|
||||||
msg = "服务器无法处理您的注册,注册失败!";
|
msg = "服务器无法处理您的注册,注册失败!";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -704,8 +710,8 @@ namespace Milimoe.FunGame.Server.Controller
|
|||||||
// 发送验证码
|
// 发送验证码
|
||||||
string ServerName = Config.ServerName;
|
string ServerName = Config.ServerName;
|
||||||
string Subject = $"[{ServerName}] FunGame 找回密码验证码";
|
string Subject = $"[{ServerName}] FunGame 找回密码验证码";
|
||||||
string Body = $"亲爱的 {username}, <br/> 您正在找回[{ServerName}]账号的密码,您的验证码是 {ForgetVerify} ,10分钟内有效,请及时输入!<br/><br/>{ServerName}<br/>{DateTimeUtility.GetDateTimeToString(TimeType.DateOnly)}";
|
string Body = $"亲爱的 {username}, <br/> 您正在找回[{ServerName}]账号的密码,您的验证码是 {ForgetVerify} ,10分钟内有效,请及时输入!<br/><br/>{ServerName}<br/>{DateTimeUtility.GetDateTimeToString(TimeType.LongDateOnly)}";
|
||||||
string[] To = new string[] { email };
|
string[] To = [email];
|
||||||
if (MailSender.Send(MailSender.CreateMail(Subject, Body, System.Net.Mail.MailPriority.Normal, true, To)) == MailSendResult.Success)
|
if (MailSender.Send(MailSender.CreateMail(Subject, Body, System.Net.Mail.MailPriority.Normal, true, To)) == MailSendResult.Success)
|
||||||
{
|
{
|
||||||
ServerHelper.WriteLine(Server.GetClientName() + $" 已向{email}发送验证码:{ForgetVerify}");
|
ServerHelper.WriteLine(Server.GetClientName() + $" 已向{email}发送验证码:{ForgetVerify}");
|
||||||
|
@ -224,7 +224,7 @@ bool Connect(ClientSocket socket, Guid token, string clientip, ref bool isDebugM
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(read.SocketType) + "] " + ServerHelper.MakeClientName(socket.ClientIP), InvokeMessageType.Core);
|
ServerHelper.WriteLine("[" + SocketSet.GetTypeString(read.SocketType) + "] " + ServerHelper.MakeClientName(socket.ClientIP), InvokeMessageType.Core);
|
||||||
|
|
||||||
// 读取参数
|
// 读取参数
|
||||||
// 参数1:客户端的游戏模组列表,没有服务器的需要拒绝
|
// 参数1:客户端的游戏模组列表,没有服务器的需要拒绝
|
||||||
|
@ -83,7 +83,7 @@ namespace Milimoe.FunGame.Server.Model
|
|||||||
// 验证Token
|
// 验证Token
|
||||||
if (type != SocketMessageType.HeartBeat && token != Token)
|
if (type != SocketMessageType.HeartBeat && token != Token)
|
||||||
{
|
{
|
||||||
ServerHelper.WriteLine(GetClientName() + " 使用了非法方式传输消息,服务器拒绝回应 -> [" + ServerSocket.GetTypeString(type) + "] ");
|
ServerHelper.WriteLine(GetClientName() + " 使用了非法方式传输消息,服务器拒绝回应 -> [" + SocketSet.GetTypeString(type) + "] ");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,7 +111,7 @@ namespace Milimoe.FunGame.Server.Model
|
|||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case SocketMessageType.Disconnect:
|
case SocketMessageType.Disconnect:
|
||||||
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(SocketMessageType.DataRequest) + "] " + GetClientName() + " -> Disconnect", InvokeMessageType.Core);
|
ServerHelper.WriteLine("[" + SocketSet.GetTypeString(SocketMessageType.DataRequest) + "] " + GetClientName() + " -> Disconnect", InvokeMessageType.Core);
|
||||||
msg = "你已成功断开与服务器的连接: " + Config.ServerName + "。 ";
|
msg = "你已成功断开与服务器的连接: " + Config.ServerName + "。 ";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -139,9 +139,7 @@ namespace Milimoe.FunGame.Server.Model
|
|||||||
type = SocketObject.GetParam<DataRequestType>(0);
|
type = SocketObject.GetParam<DataRequestType>(0);
|
||||||
Hashtable data = SocketObject.GetParam<Hashtable>(1) ?? [];
|
Hashtable data = SocketObject.GetParam<Hashtable>(1) ?? [];
|
||||||
|
|
||||||
SQLHelper.NewTransaction();
|
|
||||||
result = DataRequestController.GetResultData(type, data);
|
result = DataRequestController.GetResultData(type, data);
|
||||||
SQLHelper.Commit();
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
@ -207,7 +205,7 @@ namespace Milimoe.FunGame.Server.Model
|
|||||||
}
|
}
|
||||||
object obj = objs[0];
|
object obj = objs[0];
|
||||||
if (obj.GetType() == typeof(string) && (string)obj != "")
|
if (obj.GetType() == typeof(string) && (string)obj != "")
|
||||||
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] " + GetClientName() + " <- " + obj, InvokeMessageType.Core);
|
ServerHelper.WriteLine("[" + SocketSet.GetTypeString(type) + "] " + GetClientName() + " <- " + obj, InvokeMessageType.Core);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
throw new CanNotSendToClientException();
|
throw new CanNotSendToClientException();
|
||||||
@ -565,7 +563,7 @@ namespace Milimoe.FunGame.Server.Model
|
|||||||
|
|
||||||
private void CreateStreamReader()
|
private void CreateStreamReader()
|
||||||
{
|
{
|
||||||
Thread.Sleep(100);
|
Thread.Sleep(20);
|
||||||
ServerHelper.WriteLine("Creating: StreamReader -> " + GetClientName() + " ...OK");
|
ServerHelper.WriteLine("Creating: StreamReader -> " + GetClientName() + " ...OK");
|
||||||
while (Running)
|
while (Running)
|
||||||
{
|
{
|
||||||
@ -598,14 +596,25 @@ namespace Milimoe.FunGame.Server.Model
|
|||||||
|
|
||||||
private void CreatePeriodicalQuerier()
|
private void CreatePeriodicalQuerier()
|
||||||
{
|
{
|
||||||
Thread.Sleep(100);
|
Thread.Sleep(20);
|
||||||
ServerHelper.WriteLine("Creating: PeriodicalQuerier -> " + GetClientName() + " ...OK");
|
ServerHelper.WriteLine("Creating: PeriodicalQuerier -> " + GetClientName() + " ...OK");
|
||||||
while (Running)
|
while (Running)
|
||||||
{
|
{
|
||||||
// 每两小时触发一次SQL服务器的心跳查询,防止SQL服务器掉线
|
// 每两小时触发一次SQL服务器的心跳查询,防止SQL服务器掉线
|
||||||
|
try
|
||||||
|
{
|
||||||
Thread.Sleep(2 * 1000 * 3600);
|
Thread.Sleep(2 * 1000 * 3600);
|
||||||
SQLHelper?.ExecuteDataSet(UserQuery.Select_IsExistUsername(UserName));
|
SQLHelper?.ExecuteDataSet(UserQuery.Select_IsExistUsername(UserName));
|
||||||
}
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
ServerHelper.Error(e);
|
||||||
|
RemoveUser();
|
||||||
|
Close();
|
||||||
|
ServerHelper.WriteLine(GetClientName() + " Error -> Socket is Closed.");
|
||||||
|
ServerHelper.WriteLine(GetClientName() + " Close -> StringStream is Closed.");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Close()
|
private void Close()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user