Esempio n. 1
0
        public void Dispose()
        {
            if (running == false)
            {
                return;
            }
            running = false;

            try
            {
                if (ServerAddress == IPAddress.Any)
                {
                    TcpClient client = new TcpClient("127.0.0.1", tcpPort);
                    client.Close();
                }
                else
                {
                    TcpClient client = new TcpClient(ServerAddress.ToString(), tcpPort);
                    client.Close();
                }
            }
            catch
            {
            }

            tcpListener.Stop();
            udp.Dispose();

            beacon.Dispose();

            Records.Dispose();

            List <CAServerChannel> channelsToRemove;

            lock (channelList)
                channelsToRemove = channelList.Values.ToList();
            foreach (var i in channelsToRemove)
            {
                i.Dispose();
            }

            List <CATcpConnection> connsToRemove;

            lock (openConnection)
                connsToRemove = openConnection.Values.ToList();
            foreach (var i in connsToRemove)
            {
                i.Dispose();
            }
        }
Esempio n. 2
0
        protected override void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    Records?.Dispose();
                    Records = null;
                }

                // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.
                // TODO: set large fields to null.

                disposedValue = true;
            }
        }