示例#1
0
        public void Stop()
        {
            try
            {
                LogOut();
            }
            catch { }

            if (serviceServer != null)
            {
                serviceServer.Stop();
                serviceServer.Dispose();
                serviceServer = null;
            }

            if (textServer != null)
            {
                textServer.Stop();
                textServer.Dispose();
                textServer = null;
            }

            if (fileServer != null)
            {
                fileServer.Stop();
                fileServer.Dispose();
                fileServer = null;
            }
        }
示例#2
0
 public void Stop()
 {
     if (!IsRunning)
     {
         return;
     }
     MonitorPool.Singleton.Exit();
     IsRunning = false;
     ListenServer.Stop();
     ServiceServer.Stop();
     Client.Disconnect();
 }
示例#3
0
        public async Task <int> Run()
        {
            if (_quitToken.IsCancellationRequested)
            {
                return(0);
            }

            await Kademlia.Start();

            TransactionManager.Start();
            await CouncilManager.Start();

            await NodeServer.Start();

            await ClientServer.Start();

            if (ServiceServer != null)
            {
                await ServiceServer.Start();
            }

            await _quitToken.WaitAsync();

            await PubSub.PublishAsync(new QuitEvent());

            await NodeServer.Stop();

            await ClientServer.Stop();

            await CouncilManager.Stop();

            TransactionManager.Stop();
            await Kademlia.Stop();

            await ChainManager.Stop();

            if (ServiceServer != null)
            {
                await ServiceServer.Stop();
            }

            await(Host as Host).Stop();

            return(0);
        }