public synchronized void stop() {
		if (thread == null) {
			return;
		}
		
		running = false;
		if (server != null) {
			try {
				server.close();
			} catch (Exception e) { }
		}
		thread = null;
	}