基线 SVN r240
SVN-Revision: r240
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
/******************************
|
||||
* 说明:协议基类
|
||||
* 创建人:龚宇超
|
||||
* 创建日期:2018-01-23
|
||||
* 修改人:
|
||||
* 修改日期:
|
||||
* 修改备注:
|
||||
* 版本:1.0.0.0
|
||||
******************************/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace Lskj.SocketService
|
||||
{
|
||||
/// <summary>
|
||||
/// 协议基类
|
||||
/// </summary>
|
||||
public class BaseSocketProtocol : AsyncSocketInvokeElement
|
||||
{
|
||||
protected bool _logined;
|
||||
protected string _userName;
|
||||
protected string _socketFlag;
|
||||
|
||||
/// <summary>
|
||||
/// 是否登录
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if logined; otherwise, <c>false</c>.</value>
|
||||
public bool Logined { get { return _logined; } }
|
||||
/// <summary>
|
||||
/// 用户名
|
||||
/// </summary>
|
||||
/// <value>The name of the user.</value>
|
||||
public string UserName { get { return _userName; } }
|
||||
/// <summary>
|
||||
/// 协议类型标记
|
||||
/// </summary>
|
||||
/// <value>The socket flag.</value>
|
||||
public string SocketFlag { get { return _socketFlag; } }
|
||||
|
||||
public BaseSocketProtocol(AsyncSocketServer asyncSocketServer, AsyncSocketUserToken asyncSocketUserToken)
|
||||
: base(asyncSocketServer, asyncSocketUserToken)
|
||||
{
|
||||
_userName = "";
|
||||
_logined = false;
|
||||
_socketFlag = "";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:登录验证</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-01-24 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
|
||||
public bool DoLogin()
|
||||
{
|
||||
string userName = "";
|
||||
string password = "";
|
||||
if (_incomingDataParser.GetValue(ProtocolKey.UserName, ref userName) & _incomingDataParser.GetValue(ProtocolKey.Password, ref password))
|
||||
{
|
||||
if (password.Equals(BasicFunc.MD5String("admin"), StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
_outgoingDataAssembler.AddSuccess();
|
||||
_userName = userName;
|
||||
_logined = true;
|
||||
Program.Logger.InfoFormat("{0} login success", userName);
|
||||
}
|
||||
else
|
||||
{
|
||||
_outgoingDataAssembler.AddFailure(ProtocolCode.UserOrPasswordError, "");
|
||||
Program.Logger.ErrorFormat("{0} login failure,password error", userName);
|
||||
}
|
||||
}
|
||||
else
|
||||
_outgoingDataAssembler.AddFailure(ProtocolCode.ParameterError, "");
|
||||
return DoSendResult();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:Active</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-01-24 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
|
||||
public bool DoActive()
|
||||
{
|
||||
_outgoingDataAssembler.AddSuccess();
|
||||
return DoSendResult();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user