@Override public void run() { logger.info("Start proxy server at port:{}", bindPort); while (!stop) { try { Socket socket = serverSocket.accept(); socket = processSocketBeforeUse(socket); socket.setSoTimeout(timeout); Session session = sessionManager.newSession(socket); SocksHandler socksHandler = createSocksHandler(); /* initialize socks handler */ socksHandler.setSession(session); initializeSocksHandler(socksHandler); executorService.execute(socksHandler); } catch (IOException e) { // Catches the exception that cause by shutdown method. if (e.getMessage().equals("Socket closed") && stop) { logger.debug("Server shutdown"); return; } logger.debug(e.getMessage(), e); } } }
@Override public void run() { try { handle(session); } catch (Exception e) { sessionManager.sessionOnException(session, e); // logger.error("SESSION[{}]: {}", session.getId(), e.getMessage()); } finally { session.close(); sessionManager.sessionOnClose(session); // logger.info("SESSION[{}] closed, {}", session.getId(), session.getNetworkMonitor().toString // ()); } }
@Override public void handle(Session session) throws Exception { sessionManager = getSocksProxyServer().getSessionManager(); sessionManager.sessionOnCreate(session); sessionManager.sessionOnCommand(session, commandMessage); switch (commandMessage.getCommand()) { case BIND:
server.getSessionManager().addSessionListener("logger", new LoggingListener()); server.start();
@Override public void handle(Session session) throws Exception { sessionManager = getSocksProxyServer().getSessionManager(); sessionManager.sessionOnCreate(session); sessionManager.sessionOnCommand(session, commandMessage); switch (commandMessage.getCommand()) { case BIND:
server.getSessionManager().addSessionListener("logger", new LoggingListener()); server.start();
@Override public void run() { try { handle(session); } catch (Exception e) { sessionManager.sessionOnException(session, e); // logger.error("SESSION[{}]: {}", session.getId(), e.getMessage()); } finally { session.close(); sessionManager.sessionOnClose(session); // logger.info("SESSION[{}] closed, {}", session.getId(), session.getNetworkMonitor().toString // ()); } }
proxyServer.getSessionManager().addSessionListener(name, sessionListeners.get(name));
@Override public void run() { logger.info("Start proxy server at port:{}", bindPort); while (!stop) { try { Socket socket = serverSocket.accept(); socket = processSocketBeforeUse(socket); socket.setSoTimeout(timeout); Session session = sessionManager.newSession(socket); SocksHandler socksHandler = createSocksHandler(); /* initialize socks handler */ socksHandler.setSession(session); initializeSocksHandler(socksHandler); executorService.execute(socksHandler); } catch (IOException e) { // Catches the exception that cause by shutdown method. if (e.getMessage().equals("Socket closed") && stop) { logger.debug("Server shutdown"); return; } logger.debug(e.getMessage(), e); } } }
proxyServer.getSessionManager().addSessionListener(name, sessionListeners.get(name));