You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
2.7 KiB
C#

3 months ago
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2025 WenJY
* CLR4.0.30319.42000
* Mr.Wen's MacBook Pro
* Sln.Iot.Business
* 71034873-2FF6-4081-AC87-DFCCCCCF51F2
*
* WenJY
*
* 2025-04-11 16:03:28
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
using System;
using Microsoft.Extensions.Logging;
using Sln.Iot.Business.@base;
using Sln.Iot.Common;
using Sln.Iot.Config;
using Sln.Iot.Model.dto;
using Sln.Iot.Serilog;
using Sln.Iot.Socket.Adapter;
using TouchSocket.Core;
using TouchSocket.Sockets;
namespace Sln.Iot.Business
{
/// <summary>
/// 登录指令
/// </summary>
public class LoginBusiness:BaseBusiness
{
public LoginBusiness(SerilogHelper logger, AppConfig appConfig,StringChange stringChange) : base(logger, appConfig,stringChange)
{
}
/// <summary>
/// 指令解析
/// </summary>
/// <param name="client"></param>
/// <param name="requestInfo"></param>
/// <param name="bodyLength"></param>
/// <returns></returns>
public override FilterResult BufferAnalysis(ISocketClient client, BufferRequestInfo requestInfo, int bodyLength)
{
var flag = "";
byte[] ids = new byte[3];
Array.Copy(requestInfo.buffer, 1, ids, 0, ids.Length);
string clientIdStr = _stringChange.bytesToHexStr(ids,ids.Length);
3 months ago
if (clientIdStr.Contains("37"))
3 months ago
{
if (client.Id != clientIdStr)
{
client.ResetId(clientIdStr);
//更新客户端状态
}
}
return FilterResult.Success;
}
/// <summary>
/// 应答处理
/// </summary>
/// <param name="client"></param>
/// <param name="buffer"></param>
public override void ResponseHandle(ISocketClient client,BufferRequestInfo requestInfo)
3 months ago
{
MessagePack SendMessagePackInfo = new MessagePack()
{
//m_MessageType = 0xA1,
//body = buffer,
3 months ago
};
base.GetMessagePack(ref SendMessagePackInfo,requestInfo.buffer);
3 months ago
base.SendMessageAsync(client, SendMessagePackInfo,requestInfo.Body);
3 months ago
}
}
}