Пример #1
0
        static async Task Main(string[] args)
        {
            var client = new AdminPortClient(new ServerInfo(
                                                 "127.0.0.1", 3982, "admin_pass"));
            AdminPongEvent pongEvent = null;

            client.EventReceived += (_, e) =>
            {
                if (e is AdminPongEvent pe)
                {
                    pongEvent = pe;
                }
            };

            Console.WriteLine("Connecting ...");
            await client.Connect();

            Console.WriteLine("Sending Ping Message with argument=55 ...");
            client.SendMessage(new AdminPingMessage(55));
            Console.WriteLine("Waiting for Pong Message ...");

            while (pongEvent == null)
            {
                await Task.Delay(1);
            }

            Console.WriteLine($"Received Pong Message with argument={pongEvent.PongValue}");;

            Console.WriteLine("Ending connection with server");
            await client.Disconnect();

            Console.WriteLine("Press any button to quit");
            Console.ReadLine();
        }
Пример #2
0
        private async Task WaitForServerToStart()
        {
            AdminPortClient client = null;

            while (client?.ConnectionState != AdminConnectionState.Connected)
            {
                try
                {
                    client = new AdminPortClient(new ServerInfo("127.0.0.1", Port, "admin_pass"));
                    await client.Connect();
                }

                catch (Exception) { /* swallow the exception */ }
            }
        }