Beispiel #1
0
        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();
        }
Beispiel #2
0
 /// <summary>
 /// Use given engine to handle the request.
 /// </summary>
 /// <param name="engine">The engine for server.</param>
 public void UseEngine(IJsonRpcClientEngine engine)
 {
     _engine = engine;
 }