避免飞比设备返回值处理出现异常时导致接受上传数据线程退出

Former-commit-id: 296679a5354a8be0dd61e7275c1fab911cf96bfb
TangShanKaiPing
wanggang 5 years ago
parent c084c54f02
commit d4f8824bab

@ -217,6 +217,14 @@ namespace IoTNode.DeviceServices.FBee
ex.PrintStack();
}
}
foreach (var item in Clients)
{
if (!gateways.Any(o => o.Number == item.Key))
{
Clients.Remove(item.Key, out TcpClientWrapper value);
value.Client.Dispose();
}
}
}
}
@ -290,12 +298,19 @@ namespace IoTNode.DeviceServices.FBee
private void Handle(string sn, byte[] data)
{
var length = 2 + data[1];
if (data.Length > length)
try
{
Handle(sn, data.Skip(length).ToArray());
var length = 2 + data[1];
if (data.Length > length)
{
Handle(sn, data.Skip(length).ToArray());
}
this.HandleInternal(sn, data.Take(length).ToArray());
}
catch (Exception ex)
{
ex.PrintStack();
}
this.HandleInternal(sn, data.Take(length).ToArray());
}
private void HandleInternal(string sn, byte[] data)
@ -1373,7 +1388,7 @@ namespace IoTNode.DeviceServices.FBee
tempBytes.AddRange(item.Value);
tempBytes.Add(0x00);
tempBytes.Add(0x00);
var electricity = BitConverter.ToUInt64(tempBytes.ToArray()) / 10000f;
var electricity = BitConverter.ToInt64(tempBytes.ToArray()) / 10000f;
this.UpdateData(deviceRepo, device, device.CreateData(Keys.Electricity, electricity.ToString("f2"), DeviceDataType.Float, "电量", "kWh", timestamp: timestamp));
}
else if (item.Key == 0x050b)

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
<Version>1.0.0-beta.403.1</Version>
<Version>1.0.0-beta.403.3</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="3.1.3" />

Loading…
Cancel
Save