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.

70 lines
2.2 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using HighWayIot.Repository.domain;
using HighWayIot.Repository.service.Impl;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HighWayIot.TouchSocket
{
public class BufferAnalysis
{
/// <summary>
/// 心跳报文分析
/// </summary>
/// <param name="bytes"></param>
public static void HeartbeatSocket(byte[] bytes)
{
string a = Encoding.ASCII.GetString(bytes, 4, 4);
int deviceno;
if(int.TryParse(a, out deviceno))
{
BaseHeartbeatServiceImpl sql = new BaseHeartbeatServiceImpl();
if(sql.UpdateHeartbeatInfo(deviceno) == 0)
{
RFIDHeartbeat heartbeat = new RFIDHeartbeat()
{
DeviceNo = deviceno,
BeatTime = DateTime.Now,
};
sql.AddHeartbeatInfo(heartbeat);
}
}
}
/// <summary>
/// RFID发送设备状态
/// </summary>
/// <param name="bytes"></param>
public static void RFIDStatusSocket(byte[] bytes)
{
}
/// <summary>
/// RFID发送条码
/// </summary>
/// <param name="bytes"></param>
public static void RFIDCodeSocket(byte[] bytes)
{
}
/// <summary>
/// 将一个数组拆成另外一个数组
/// </summary>
/// <param name="originbyte">原始数组,被拆分的数组</param>
/// <param name="oringinstartindex">从原始数组第几个元素开始</param>
/// <param name="destbytelength">目标数组的长度</param>
/// <param name="destbytestartindex">目标数组开始的元素序号默认为0</param>
/// <returns></returns>
public static byte[] SplitByteArray(byte[] originbyte, int oringinstartindex, int destbytelength, int destbytestartindex = 0)
{
byte[] result = new byte[destbytelength];
System.Array.Copy(originbyte, oringinstartindex, result, destbytestartindex, destbytelength);
return result;
}
}
}