static void Main(string[] args) { ThreadPool.SetMinThreads(65535, 65535); var remoteUrl = "http://127.0.0.1:8090/"; if (args.Length != 0 && (args[0].StartsWith("http") || args[0].StartsWith("ws"))) { remoteUrl = args[0]; } var client = new JsonRpcClient(); IJsonRpcClientEngine clientEngine = remoteUrl.StartsWith("http")? new JsonRpcHttpClientEngine(remoteUrl): new JsonRpcWebSocketClientEngine(remoteUrl); bool ws = clientEngine is JsonRpcWebSocketClientEngine; client.UseEngine(clientEngine); var testCount = 3; if (args.Contains("-benchmark")) { testCount = 100; } var statisticsList = new List <int>(); for (var i = 0; i < testCount; i++) { statisticsList.Add(Benchmark(client, TestData, ws)); Console.WriteLine(); } Console.WriteLine(); Console.WriteLine($"Best: {statisticsList.Max()} rpc/sec, \t Average: {(int)statisticsList.Average()} rpc/sec, \t Worst: {statisticsList.Min()} rpc/sec"); Console.ReadLine(); }
/// <summary> /// Use given engine to handle the request. /// </summary> /// <param name="engine">The engine for server.</param> public void UseEngine(IJsonRpcClientEngine engine) { _engine = engine; }