提交代码

This commit is contained in:
hehaibing-1996
2024-05-03 11:04:59 +08:00
parent 97888c6978
commit d283924ae1
48 changed files with 802 additions and 509 deletions

View File

@ -77,6 +77,7 @@ namespace WCS.BLL
{
var data = e.ByteBlock.Buffer.Take((int)e.ByteBlock.Length).ToArray();
//e.ByteBlock.Clear();
Logs.Write($"校验发送接收,收到数据" + BitConverter.ToString(data));
var len = data.Length;
for (int index = 0; index < data.Length - PreFixLength; index++)
{
@ -103,7 +104,9 @@ namespace WCS.BLL
index += (PreFixLength + DataLength - 1);//每次循环index会+1 所以这里-1
}
}
Logs.Write($"校验发送接收处理完毕" + BitConverter.ToString(data));
return null;
};
tcpClient.Connected += (client, e) =>
@ -125,15 +128,23 @@ namespace WCS.BLL
{
try
{
//TO DO如果指令未回应n次 则取消重发
//TODO如果指令未回应n次 则取消重发
Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
await Task.Delay(3000);
await Task.Delay(100);
if (MessageList.Count > 0)
{
var failedMessage = MessageList.Where(t => t.Value.SendTimes >= 3).ToList();
foreach (var message in failedMessage)
{
Logs.Write(BitConverter.ToString(message.Value.Message) +
"指令未响应");
}
MessageList.RemoveWhen(t => t.Value.SendTimes >= 3);
Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
foreach (var item in MessageList)
{
if (item.Value.LastSendTime < DateTime.Now.AddSeconds(3))
if (item.Value.LastSendTime < DateTime.Now.AddSeconds(-1))
{
tcpClient.Send(item.Value.Message);
item.Value.SendTimes++;
@ -141,6 +152,7 @@ namespace WCS.BLL
await Task.Delay(10);
}
}
}
}
catch
@ -170,6 +182,7 @@ namespace WCS.BLL
lock (sendLockObject)
{
tcpClient.Send(message);
//TODO MessageList.AddOrUpdate(new Mes)
//发送自带10ms间隔
Thread.Sleep(10);
}
@ -225,6 +238,7 @@ namespace WCS.BLL
/// </summary>
public byte[] Message { get; set; }
public bool IsWating { get; set; }
/// <summary>
/// 发送次数
/// </summary>