public synchronized void startServer(ServerSocket s, String host) throws IOException {

		if (running) {
			throw new IOException("server already started");
		}

		if (s == null || s.isClosed() || StringUtilities.isAllBlank(host)) {
			throw new IllegalArgumentException("invalid startServer parameters");
		}
		serverSocket = s;
		hostname = host;
		running = true;

		log.info("Starting Block Stream Server...");

		cleanupTimerMonitor = GTimer.scheduleRepeatingRunnable(CLEANUP_PERIOD, CLEANUP_PERIOD,
			() -> cleanupStaleRequests(false));

		start();
	}
Start this server instance. If the server has already been started
this method will return immediately. 
@param s server socket to be used for accepting connections
@param host remote access hostname to be used by clients
@throws IOException if an IO error occurs
Ghidra/Features/GhidraServer/src/main/java/ghidra/server/stream/BlockStreamServer.java