Sfoglia il codice sorgente

1.增加公共属性配置

2.修改转发断线重连
old
smallchi 5 anni fa
parent
commit
4be9349189
7 ha cambiato i file con 80 aggiunte e 12 eliminazioni
  1. +9
    -0
      README.md
  2. +23
    -5
      src/JT1078.DotNetty.Core/Impl/JT1078SourcePackageDispatcherDefault.cs
  3. +9
    -3
      src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj
  4. +9
    -2
      src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj
  5. +6
    -2
      src/JT1078.DotNetty.Udp/JT1078.DotNetty.Udp.csproj
  6. +5
    -0
      src/JT1078DotNetty.sln
  7. +19
    -0
      src/SharedProperties.props

+ 9
- 0
README.md Vedi File

@@ -1,2 +1,11 @@
# JT1078DotNetty

JT1078DotNetty

## NuGet安装

| Package Name | Version | Downloads |
| --------------------- | -------------------------------------------------- | --------------------------------------------------- |
| Install-Package JT1078.DotNetty.Core | ![JT1078.DotNetty.Core](https://img.shields.io/nuget/v/JT1078.DotNetty.Core.svg) | ![JT1078.DotNetty.Core](https://img.shields.io/nuget/dt/JT1078.DotNetty.Core.svg) |
| Install-Package JT1078.DotNetty.Tcp | ![JT1078.DotNetty.Tcp](https://img.shields.io/nuget/v/JT1078.DotNetty.Tcp.svg) | ![JT1078.DotNetty.Tcp](https://img.shields.io/nuget/dt/JT1078.DotNetty.Tcp.svg) |
| Install-Package JT1078.DotNetty.Udp | ![JT1078.DotNetty.Udp](https://img.shields.io/nuget/v/JT1078.DotNetty.Udp.svg) | ![JT1078.DotNetty.Udp](https://img.shields.io/nuget/dt/JT1078.DotNetty.Udp.svg) |

+ 23
- 5
src/JT1078.DotNetty.Core/Impl/JT1078SourcePackageDispatcherDefault.cs Vedi File

@@ -28,6 +28,7 @@ namespace JT1078.DotNetty.Core.Impl
this.optionsMonitor = optionsMonitor;
timer = new System.Timers.Timer(10000);
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.AutoReset = false;
timer.Start();
InitialDispatcherClient();
}
@@ -47,6 +48,8 @@ namespace JT1078.DotNetty.Core.Impl
else
{
logger.LogError($"{item}链接已关闭");
item.Value.Close();
item.Value.Dispose();
channeldic.TryRemove(item.Key, out _);
reconnectionQueue.Enqueue(item.Key);
}
@@ -54,6 +57,8 @@ namespace JT1078.DotNetty.Core.Impl
catch (Exception ex)
{
logger.LogError($"{item}发送数据出现异常:{ex}");
item.Value.Close();
item.Value.Dispose();
reconnectionQueue.Enqueue(item.Key);
channeldic.TryRemove(item.Key, out _);
}
@@ -83,12 +88,25 @@ namespace JT1078.DotNetty.Core.Impl
{
timer.Stop();
Thread.CurrentThread.IsBackground = true;
var ip = reconnectionQueue.Dequeue();
if (!string.IsNullOrEmpty(ip))
try
{
AddRemoteServsers(new List<string>() { ip });
if (reconnectionQueue.Count > 0)
{
var ip = reconnectionQueue.Dequeue();
if (!string.IsNullOrEmpty(ip))
{
AddRemoteServsers(new List<string>() { ip });
}
}
}
catch (Exception ex)
{
logger.LogError(ex, "");
}
finally
{
timer.Start();
}
timer.Start();
}

/// <summary>
@@ -140,7 +158,6 @@ namespace JT1078.DotNetty.Core.Impl
/// <summary>
/// 动态添加远程服务器
/// </summary>
/// <param name="bootstrap"></param>
/// <param name="lastRemoteServers"></param>
private void AddRemoteServsers(List<string> lastRemoteServers)
{
@@ -157,6 +174,7 @@ namespace JT1078.DotNetty.Core.Impl
}
else
{
client.Dispose();
reconnectionQueue.Enqueue(item);
}
}


+ 9
- 3
src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj Vedi File

@@ -1,10 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\SharedProperties.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<PackageId>JT1078.DotNetty.Core</PackageId>
<Product>JT1078.DotNetty.Core</Product>
<Description>基于DotNetty实现的JT1078DotNetty的核心库</Description>
<PackageReleaseNotes>基于DotNetty实现的JT1078DotNetty的核心库</PackageReleaseNotes>
</PropertyGroup>


<ItemGroup>
<PackageReference Include="DotNetty.Handlers" Version="0.6.0" />
<PackageReference Include="DotNetty.Transport.Libuv" Version="0.6.0" />
@@ -16,5 +19,8 @@
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
<PackageReference Include="Microsoft.Extensions.Options" Version="2.2.0" />
</ItemGroup>

<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>

+ 9
- 2
src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj Vedi File

@@ -1,7 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\SharedProperties.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<PackageId>JT1078.DotNetty.Tcp</PackageId>
<Product>JT1078.DotNetty.Tcp</Product>
<Description>基于DotNetty实现的JT1078DotNetty的Tcp服务</Description>
<PackageReleaseNotes>基于DotNetty实现的JT1078DotNetty的Tcp服务</PackageReleaseNotes>
<RepositoryUrl>https://github.com/SmallChi/JT1078DotNetty</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT1078DotNetty</PackageProjectUrl>
<licenseUrl>https://github.com/SmallChi/JT1078DotNetty/blob/master/LICENSE</licenseUrl>
<license>https://github.com/SmallChi/JT1078DotNetty/blob/master/LICENSE</license>
</PropertyGroup>

<ItemGroup>
@@ -18,5 +26,4 @@
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
<PackageReference Include="Microsoft.Extensions.Options" Version="2.2.0" />
</ItemGroup>

</Project>

+ 6
- 2
src/JT1078.DotNetty.Udp/JT1078.DotNetty.Udp.csproj Vedi File

@@ -1,7 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\SharedProperties.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<PackageId>JT1078.DotNetty.Udp</PackageId>
<Product>JT1078.DotNetty.Udp</Product>
<Description>基于DotNetty实现的JT1078DotNetty的Udp服务</Description>
<PackageReleaseNotes>基于DotNetty实现的JT1078DotNetty的Udp服务</PackageReleaseNotes>
</PropertyGroup>

<ItemGroup>


+ 5
- 0
src/JT1078DotNetty.sln Vedi File

@@ -11,6 +11,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT1078.DotNetty.TestHosting
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT1078.DotNetty.Udp", "JT1078.DotNetty.Udp\JT1078.DotNetty.Udp.csproj", "{6405D7FA-3B6E-4545-827E-BA13EB5BB268}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{1C26DF6A-2978-46B7-B921-BB7776CC6EE8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -37,6 +39,9 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{DCCA6BB7-C2B5-490A-B43F-C28ABEA922D7} = {1C26DF6A-2978-46B7-B921-BB7776CC6EE8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {07ED058A-2CEB-43FD-8478-7EEC7E56F868}
EndGlobalSection


+ 19
- 0
src/SharedProperties.props Vedi File

@@ -0,0 +1,19 @@
<Project>
<PropertyGroup>
<LangVersion>7.3</LangVersion>
<Copyright>Copyright 2019.</Copyright>
<Authors>SmallChi(Koike)</Authors>
<RepositoryUrl>https://github.com/SmallChi/JT1078DotNetty</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT1078DotNetty</PackageProjectUrl>
<licenseUrl>https://github.com/SmallChi/JT1078DotNetty/blob/master/LICENSE</licenseUrl>
<license>https://github.com/SmallChi/JT1078DotNetty/blob/master/LICENSE</license>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<Version>1.0.0-preview1</Version>
<SignAssembly>false</SignAssembly>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\LICENSE" Pack="true" PackagePath="" />
</ItemGroup>
</Project>

Caricamento…
Annulla
Salva