Ejemplo n.º 1
0
        public override void Stop()
        {
            List <TCPHandler> handlersToClose = new List <TCPHandler>();

            lock (Handlers)
            {
                handlersToClose.AddRange(Handlers);
            }
            handlersToClose.ForEach(h => h.Close());

            _argsPool.Dispose();
        }
Ejemplo n.º 2
0
        public void Stop()
        {
            if (Interlocked.Exchange(ref _state, _disposed) == _disposed)
            {
                return;
            }

            if (_tcpListenerSocket != null)
            {
                _tcpListenerSocket.Close();
                _tcpListenerSocket = null;
            }
            if (_udpSocket != null)
            {
                _udpSocket.Close();
                _udpSocket = null;
            }

            _services.ForEach(s => s.Stop());

            _acceptArgsPool.Dispose();
            _argsPool.Dispose();
        }