// This invoke in OnReceiveCommand is in core loop, Do not user sync version request, It stop client receive loop private static async void TryLogin() { try { var resp = await mClient.SendRequestAsync("User.Login", new UserLoginRequest { UserName = "******", Password = "******" }, 5000); if (resp is UserLoginResponse) { var lr = resp as UserLoginResponse; Console.WriteLine($"CLIENT Login Response: {lr.ErrMessage}"); } } catch (Exception e) { Console.WriteLine("CLIENT Login Error: " + e.Message); } finally { mClient.Stop(); } }