Example #1
0
        private void Connect()
        {
            var factory = new DefaultWampChannelFactory();

            _channel = factory.CreateJsonChannel(_serverAddress, "mtcrossbar");
            var tries = 0;

            while (!_channel.RealmProxy.Monitor.IsConnected)
            {
                try
                {
                    tries++;
                    LogInfo($"Trying to connect to server {_serverAddress }...");
                    _channel.Open().Wait();
                }
                catch (Exception ex)
                {
                    LogError(ex);
                    if (tries > 5)
                    {
                        throw;
                    }
                    LogInfo("Retrying in 5 sec...");
                }
            }
            LogInfo($"Connected to server {_serverAddress}");

            _realmProxy = _channel.RealmProxy;
            _service    = _realmProxy.Services.GetCalleeProxy <IRpcMtFrontend>();

            // Subscribe Notifications
            _notificationSubscription = _realmProxy.Services.GetSubject <NotifyResponse>($"user.updates.{_notificationId}").Subscribe(NotificationReceived);
        }
Example #2
0
        public void Connect(ClientEnv env)
        {
            SetEnv(env);
            var factory = new DefaultWampChannelFactory();

            _channel = factory.CreateJsonChannel(_serverAddress, "mtcrossbar");

            while (!_channel.RealmProxy.Monitor.IsConnected)
            {
                try
                {
                    Console.WriteLine($"Trying to connect to server {_serverAddress}...");
                    _channel.Open().Wait();
                }
                catch
                {
                    Console.WriteLine("Retrying in 5 sec...");
                    Thread.Sleep(5000);
                }
            }
            Console.WriteLine($"Connected to server {_serverAddress}");

            _realmProxy = _channel.RealmProxy;
            _service    = _realmProxy.Services.GetCalleeProxy <IRpcMtFrontend>();
        }