Esempio n. 1
0
        public Server(string Connstring, int SessionTimeout = -1)
        {
            var watcher = new SingleWatcher();

            watcher.RunProcess = new Action <WatchedEvent>((e) =>
            {
                if (e.getState() == Watcher.Event.KeeperState.Disconnected)
                {
                    Conneted = false;
                    //zookeeper断开处理
                }
            });
            //初始化客户端
            _client  = new ZooKeeper(Connstring, SessionTimeout, watcher, false);
            Conneted = true;
            //初始化root节点
            OpenNode("/ZooDiscovery");
        }
Esempio n. 2
0
        public Client(string Connstring, int SessionTimeout = -1)
        {
            var watcher = new SingleWatcher();

            watcher.RunProcess = new Action <WatchedEvent>((e) => {
                if (e.getState() == Watcher.Event.KeeperState.Disconnected)
                {
                    Conneted = false;
                    //zookeeper断开处理
                }
                var path = e.getPath();
                //监听处理
                switch (e.get_Type())
                {
                case Watcher.Event.EventType.None:
                    break;

                case Watcher.Event.EventType.NodeCreated:
                    break;

                case Watcher.Event.EventType.NodeDeleted:
                    SrvDeleted?.Invoke(path.Substring(path.LastIndexOf("/") + 1));
                    break;

                case Watcher.Event.EventType.NodeDataChanged:
                    var api = GetServer(path.Substring(path.LastIndexOf("/") + 1), false);
                    SrvChanged?.Invoke(path.Substring(path.LastIndexOf("/") + 1), api);
                    break;

                case Watcher.Event.EventType.NodeChildrenChanged:
                    FindNewSrv?.Invoke();
                    break;

                default:
                    break;
                }
            });
            //初始化客户端
            _client  = new ZooKeeper(Connstring, SessionTimeout, watcher, false);
            Conneted = true;
            //初始化root节点
            OpenNode(Root);
        }