Sfoglia il codice sorgente

v1.1.6

1.修复webapi跨域问题
2.修复下发时socket异常导致程序退出
tags/v1.1.6-pipeline
SmallChi(Koike) 3 anni fa
parent
commit
763b0d72ab
7 ha cambiato i file con 41 aggiunte e 18 eliminazioni
  1. +35
    -12
      src/JT808.Gateway.Abstractions/Extensions/JT808SessionExtensions.cs
  2. +1
    -1
      src/JT808.Gateway.Client/JT808.Gateway.Client.csproj
  3. +1
    -1
      src/JT808.Gateway/JT808.Gateway.csproj
  4. +1
    -1
      src/JT808.Gateway/JT808HttpServer.cs
  5. +1
    -1
      src/JT808.Gateway/JT808TcpServer.cs
  6. +1
    -1
      src/JT808.Gateway/JT808UdpServer.cs
  7. +1
    -1
      src/Version.props

+ 35
- 12
src/JT808.Gateway.Abstractions/Extensions/JT808SessionExtensions.cs Vedi File

@@ -19,17 +19,29 @@ namespace JT808.Gateway.Abstractions
/// <param name="data"></param>
public static async void SendAsync(this IJT808Session session,byte[] data)
{
if (data == null) return;
if (session.TransportProtocolType == JT808TransportProtocolType.tcp)
try
{
if (session.Client.Connected)
await session.Client.SendAsync(data, SocketFlags.None);
if (data == null) return;
if (session.TransportProtocolType == JT808TransportProtocolType.tcp)
{
if (session.Client.Connected)
await session.Client.SendAsync(data, SocketFlags.None);
}
else
{
await session.Client.SendToAsync(data, SocketFlags.None, session.RemoteEndPoint);
}
}
else
catch (AggregateException ex)
{
await session.Client.SendToAsync(data, SocketFlags.None, session.RemoteEndPoint);

}
catch (Exception)
{

}
}

/// <summary>
/// 下发消息
/// </summary>
@@ -37,15 +49,26 @@ namespace JT808.Gateway.Abstractions
/// <param name="data"></param>
public static void Send(this IJT808Session session, byte[] data)
{
if (data == null) return;
if (session.TransportProtocolType == JT808TransportProtocolType.tcp)
try
{
if (session.Client.Connected)
session.Client.Send(data, SocketFlags.None);
if (data == null) return;
if (session.TransportProtocolType == JT808TransportProtocolType.tcp)
{
if (session.Client.Connected)
session.Client.Send(data, SocketFlags.None);
}
else
{
session.Client.SendTo(data, SocketFlags.None, session.RemoteEndPoint);
}
}
else
catch (AggregateException ex)
{
session.Client.SendTo(data, SocketFlags.None, session.RemoteEndPoint);

}
catch (Exception)
{

}
}
}


+ 1
- 1
src/JT808.Gateway.Client/JT808.Gateway.Client.csproj Vedi File

@@ -25,7 +25,7 @@
<ItemGroup>
<PackageReference Include="JT808" Version="2.4.5" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0" />
<PackageReference Include="System.IO.Pipelines" Version="6.0.0" />
<PackageReference Include="System.IO.Pipelines" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" />
</ItemGroup>


+ 1
- 1
src/JT808.Gateway/JT808.Gateway.csproj Vedi File

@@ -27,7 +27,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="System.IO.Pipelines" Version="6.0.0" />
<PackageReference Include="System.IO.Pipelines" Version="6.0.1" />
</ItemGroup>
<ItemGroup>


+ 1
- 1
src/JT808.Gateway/JT808HttpServer.cs Vedi File

@@ -64,7 +64,7 @@ namespace JT808.Gateway
Logger.LogWarning(ex, $"{ex.Message}:使用cmd命令[netsh http add urlacl url=http://*:{Configuration.WebApiPort}/ user=Everyone]");
}
Logger.LogInformation($"JT808 Http Server start at {IPAddress.Any}:{Configuration.WebApiPort}.");
Task.Run(async () =>
Task.Factory.StartNew(async () =>
{
while (listener.IsListening)
{


+ 1
- 1
src/JT808.Gateway/JT808TcpServer.cs Vedi File

@@ -95,7 +95,7 @@ namespace JT808.Gateway
public Task StartAsync(CancellationToken cancellationToken)
{
Logger.LogInformation($"JT808 TCP Server start at {IPAddress.Any}:{ConfigurationMonitor.CurrentValue.TcpPort}.");
Task.Run(async () =>
Task.Factory.StartNew(async () =>
{
while (!cancellationToken.IsCancellationRequested)
{


+ 1
- 1
src/JT808.Gateway/JT808UdpServer.cs Vedi File

@@ -62,7 +62,7 @@ namespace JT808.Gateway
public Task StartAsync(CancellationToken cancellationToken)
{
Logger.LogInformation($"JT808 Udp Server start at {IPAddress.Any}:{ConfigurationMonitor.CurrentValue.UdpPort}.");
Task.Run(async() => {
Task.Factory.StartNew(async() => {
while (!cancellationToken.IsCancellationRequested)
{
var buffer = ArrayPool<byte>.Shared.Rent(ConfigurationMonitor.CurrentValue.MiniNumBufferSize);


+ 1
- 1
src/Version.props Vedi File

@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<JT808DotNettyPackageVersion>2.3.6</JT808DotNettyPackageVersion>
<JT808GatewayPackageVersion>1.1.5</JT808GatewayPackageVersion>
<JT808GatewayPackageVersion>1.1.6</JT808GatewayPackageVersion>
</PropertyGroup>
</Project>

Caricamento…
Annulla
Salva