@@ -0,0 +1,44 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
using Grpc.Core; | |||||
using JT808.GrpcDashbord.AtomicCounterGrpcService; | |||||
using JT808.GrpcDashbord.ServiceGrpcBase; | |||||
using static JT808.GrpcDashbord.AtomicCounterGrpcService.AtomicCounterService; | |||||
namespace JT808.DotNetty.Dashbord.GrpcServer.GrpcImpls | |||||
{ | |||||
public class JT808AtomicCounterServiceGrpcImpl: AtomicCounterServiceBase | |||||
{ | |||||
public override Task<AtomicCounterReply> GetTcpAtomicCounter(EmptyRequest request, ServerCallContext context) | |||||
{ | |||||
AtomicCounterReply atomicCounterReply = new AtomicCounterReply(); | |||||
atomicCounterReply.AtomicCounterInfo = new AtomicCounterInfo | |||||
{ | |||||
MsgFailCount = 10, | |||||
MsgSuccessCount = 11111 | |||||
}; | |||||
atomicCounterReply.ResultReply = new ResultReply | |||||
{ | |||||
Code = ResultReply.Types.StatusCode.Success, | |||||
}; | |||||
return Task.FromResult(atomicCounterReply); | |||||
} | |||||
public override Task<AtomicCounterReply> GetUdpAtomicCounter(EmptyRequest request, ServerCallContext context) | |||||
{ | |||||
AtomicCounterReply atomicCounterReply = new AtomicCounterReply(); | |||||
atomicCounterReply.AtomicCounterInfo = new AtomicCounterInfo | |||||
{ | |||||
MsgFailCount = 50, | |||||
MsgSuccessCount = 10000 | |||||
}; | |||||
atomicCounterReply.ResultReply = new ResultReply | |||||
{ | |||||
Code = ResultReply.Types.StatusCode.Success, | |||||
}; | |||||
return Task.FromResult(atomicCounterReply); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,12 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | |||||
<PropertyGroup> | |||||
<OutputType>Exe</OutputType> | |||||
<TargetFramework>netcoreapp2.2</TargetFramework> | |||||
</PropertyGroup> | |||||
<ItemGroup> | |||||
<ProjectReference Include="..\JT808.DotNetty.Dashbord.GrpcProtocol\JT808.DotNetty.Dashbord.GrpcProtocol.csproj" /> | |||||
</ItemGroup> | |||||
</Project> |
@@ -0,0 +1,36 @@ | |||||
using Grpc.Core; | |||||
using JT808.DotNetty.Dashbord.GrpcServer.GrpcImpls; | |||||
using JT808.GrpcDashbord.AtomicCounterGrpcService; | |||||
using System; | |||||
using System.Threading; | |||||
using static JT808.GrpcDashbord.AtomicCounterGrpcService.AtomicCounterService; | |||||
namespace JT808.DotNetty.Dashbord.GrpcServer | |||||
{ | |||||
class Program | |||||
{ | |||||
static void Main(string[] args) | |||||
{ | |||||
var server = new Server | |||||
{ | |||||
Services = { | |||||
BindService(new JT808AtomicCounterServiceGrpcImpl()), | |||||
}, | |||||
Ports = { | |||||
new ServerPort("0.0.0.0", 14000,ServerCredentials.Insecure) | |||||
} | |||||
}; | |||||
Console.WriteLine("Google Grpc Starting"); | |||||
foreach (var item in server.Ports) | |||||
{ | |||||
Console.WriteLine(string.Format("RPC server {0} listening on port {1}", item.Host, item.Port)); | |||||
} | |||||
server.Start(); | |||||
AtomicCounterServiceClient client = new AtomicCounterServiceClient(new Channel("127.0.0.1:14000", ChannelCredentials.Insecure)); | |||||
var result=client.GetTcpAtomicCounter(new GrpcDashbord.ServiceGrpcBase.EmptyRequest()); | |||||
Console.ReadKey(); | |||||
server.ShutdownAsync().Wait(); | |||||
} | |||||
} | |||||
} |
@@ -13,6 +13,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.DotNetty.Dashbord.Grp | |||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.DotNetty.Dashbord", "JT808.DotNetty.Admin\JT808.DotNetty.Dashbord\JT808.DotNetty.Dashbord.csproj", "{80D1505D-44E1-4128-8900-B5C0AE7C69E5}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.DotNetty.Dashbord", "JT808.DotNetty.Admin\JT808.DotNetty.Dashbord\JT808.DotNetty.Dashbord.csproj", "{80D1505D-44E1-4128-8900-B5C0AE7C69E5}" | ||||
EndProject | EndProject | ||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JT808.DotNetty.Dashbord.GrpcServer", "JT808.DotNetty.Admin\JT808.DotNetty.Dashbord.GrpcServer\JT808.DotNetty.Dashbord.GrpcServer.csproj", "{9F143F03-D90D-477F-9CE4-0BD1E2A1E379}" | |||||
EndProject | |||||
Global | Global | ||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
Debug|Any CPU = Debug|Any CPU | Debug|Any CPU = Debug|Any CPU | ||||
@@ -35,6 +37,10 @@ Global | |||||
{80D1505D-44E1-4128-8900-B5C0AE7C69E5}.Debug|Any CPU.Build.0 = Debug|Any CPU | {80D1505D-44E1-4128-8900-B5C0AE7C69E5}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{80D1505D-44E1-4128-8900-B5C0AE7C69E5}.Release|Any CPU.ActiveCfg = Release|Any CPU | {80D1505D-44E1-4128-8900-B5C0AE7C69E5}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
{80D1505D-44E1-4128-8900-B5C0AE7C69E5}.Release|Any CPU.Build.0 = Release|Any CPU | {80D1505D-44E1-4128-8900-B5C0AE7C69E5}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
{9F143F03-D90D-477F-9CE4-0BD1E2A1E379}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||||
{9F143F03-D90D-477F-9CE4-0BD1E2A1E379}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||||
{9F143F03-D90D-477F-9CE4-0BD1E2A1E379}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||||
{9F143F03-D90D-477F-9CE4-0BD1E2A1E379}.Release|Any CPU.Build.0 = Release|Any CPU | |||||
EndGlobalSection | EndGlobalSection | ||||
GlobalSection(SolutionProperties) = preSolution | GlobalSection(SolutionProperties) = preSolution | ||||
HideSolutionNode = FALSE | HideSolutionNode = FALSE | ||||