static WebSocketHTTPD serveHttpWithWebsockets_server; static int serveHttpWithWebsockets_port = 8888; static new TreeSet serveHttpWithWebsockets_peers; // factory: func(NanoHTTPD.IHTTPSession) -> WebSocket static int serveHttpWithWebsockets(int port, O factory) ctex { serveHttpWithWebsockets_port = port; serveHttpWithWebsockets_server = new WebSocketHTTPD(port, factory); serveHttpWithWebsockets_server.start(); ret serveHttpWithWebsockets_port(); } // serve on random port, return port number used static int serveHttpWithWebsockets(O factory) { serveHttpWithWebsockets(0, factory); ret serveHttpWithWebsockets_port(); } static int serveHttpWithWebsockets_port() { ret serveHttpWithWebsockets_server == null ? 0 : serveHttpWithWebsockets_server.getListeningPort(); } static void cleanMeUp_serveHttpWithWebsockets() { if (serveHttpWithWebsockets_server != null) { serveHttpWithWebsockets_server.stop(); serveHttpWithWebsockets_server = null; } }