Пример #1
0
        public void AddMonitoredItem()
        {
            var obj = new RemoteObject("localhost", 48030, "BusinessLogic");

            Assert.That(() => obj.Connect(), "Is TRUE!");
            obj.Monitor(
                "BoState",
                v => { Logger.Info($"Received value from {obj.Name}.BoState ... '{v}'."); });

            obj.Disconnect();
        }
Пример #2
0
        private ClientConsoleClient(string ip, int port, string name)
        {
            Items       = new List <object>();
            RemoteCccBo = new RemoteObject(ip, port, name);
            RemoteCccBo.Connect();
            MonitoringStarted = false;
            RemoteCccBo.SetDisconnectedHandler(
                (session, args) =>
            {
                Logger.Info($"NotConnectedHandler called for {session} with status {session.ConnectionStatus.ToString()}.");

                if (session.ConnectionStatus != ServerConnectionStatus.Disconnected)
                {
                    return;
                }

                Logger.Info($"The connection {session} is disconnected.");
                MonitoringStarted = false;
                RemoteCccBo.StartConnectionEstablishment();
            });

            RemoteCccBo.SetConnectedHandler(
                (session, args) =>
            {
                Logger.Info($"PostConnectionHandler called for {session} with status {session.ConnectionStatus.ToString()}.");

                if (session.ConnectionStatus != ServerConnectionStatus.Connected)
                {
                    return;
                }

                Logger.Info($"Connection {session} to ClientConsole established.");

                if (MonitoringStarted)
                {
                    return;
                }
                MonitoringStarted = true;

                RemoteCccBo.Monitor(new Dictionary <string, Action <Variant> >
                {
                    {
                        "BoState", strValue =>
                        {
                            CcBoState = strValue.ToString();
                            Logger.Info($"Received value from {RemoteCccBo.Name}.BoState ... '{CcBoState}'.");
                        }
                    },
                    {
                        "IntBoState", intValue =>
                        {
                            CcIntBoState = intValue.ToInt32();
                            Logger.Info($"Received value from {RemoteCccBo.Name}.IntBoState ... {CcIntBoState}.");
                        }
                    },
                    {
                        "FloatBoState", floatValue =>
                        {
                            CcFloatBoState = floatValue.ToFloat();
                            Logger.Info($"Received value from {RemoteCccBo.Name}.FloatBoState ... {CcFloatBoState}.");
                        }
                    }
                });
            });
        }