public void Dispose() { lock(this) { if(_server != null) { foreach(var socket in _allSockets) { socket.Close(); } _allSockets.Clear(); _server.Dispose(); _server = null; } } }