dotnet high performance remote interface invoke(RPC) communication components,implemente millions RPS remote interface method calls.
https://github.com/IKende/BeetleX-Samples
Install-Package BeetleX.XRPC -Version x
class Program { static void Main(string[] args) { var builder = new HostBuilder() .ConfigureServices((hostContext, services) => { services.UseXRPC(s => { s.ServerOptions.LogLevel = BeetleX.EventArgs.LogType.Trace; s.ServerOptions.DefaultListen.Port = 9090; s.RPCOptions.ParameterFormater = new JsonPacket();//default messagepack }, typeof(Program).Assembly); }); builder.Build().Run(); } }
public interface IHello { Task<string> Hello(string name); } [Service(typeof(IHello))] public class HelloImpl : IHello { public Task<string> Hello(string name) { return $"hello {name} {DateTime.Now}".ToTask(); } }
client = new XRPCClient("localhost", 9090); client.Options.ParameterFormater = new JsonPacket();//default messagepack hello = client.Create<IHello>(); while(true) { Console.Write("Enter you name:"); var name = Console.ReadLine(); var task = hello.Hello(name); task.Wait(); Console.WriteLine(task.Result); }