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

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

@ -217,6 +217,14 @@ namespace IoTNode.DeviceServices.FBee
ex.PrintStack(); 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();
}
}
} }
} }
@ -289,6 +297,8 @@ namespace IoTNode.DeviceServices.FBee
} }
private void Handle(string sn, byte[] data) private void Handle(string sn, byte[] data)
{
try
{ {
var length = 2 + data[1]; var length = 2 + data[1];
if (data.Length > length) if (data.Length > length)
@ -297,6 +307,11 @@ namespace IoTNode.DeviceServices.FBee
} }
this.HandleInternal(sn, data.Take(length).ToArray()); this.HandleInternal(sn, data.Take(length).ToArray());
} }
catch (Exception ex)
{
ex.PrintStack();
}
}
private void HandleInternal(string sn, byte[] data) private void HandleInternal(string sn, byte[] data)
{ {
@ -1373,7 +1388,7 @@ namespace IoTNode.DeviceServices.FBee
tempBytes.AddRange(item.Value); tempBytes.AddRange(item.Value);
tempBytes.Add(0x00); tempBytes.Add(0x00);
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)); this.UpdateData(deviceRepo, device, device.CreateData(Keys.Electricity, electricity.ToString("f2"), DeviceDataType.Float, "电量", "kWh", timestamp: timestamp));
} }
else if (item.Key == 0x050b) else if (item.Key == 0x050b)

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

Loading…
Cancel
Save