Telnet 開發環境 tConsole

未知
Java
跨平臺
2020-02-04
哈庫納

tConsole 是一個 Telnet Console 框架,提供一個 Telnet 環境支持,給予沒有界面類的應用一個可以通過命令行進行交互的工具。

特性

  1. 支持監聽本地端口提供 Telnet 交互的界面。
  2. 支持基于標準輸入輸出構建交互控制臺的能力。
  3. 利用 tConsole 可以輕松構建命令工具包。

樣例

實現一個控制臺命令。

public class HelloWordExecutor implements TelExecutor {
    /** 命令的幫助信息,在 help <command> 時候輸出這個信息 */
    public String helpInfo() {
        return "hello help.";  
    }
    /** 執行命令體 */
    public String doCommand(TelCommand telCommand) throws Throwable {
        return "you say ->" + telCommand.getCommandName();
    }
}

Server 模式

利用 telnet 命令來交互

public static void main(String[] args) {
    AppContext appContext = Hasor.create().build((TelModule) apiBinder -> {
        TelnetBuilder telnetBuild = apiBinder.asTelnet("127.0.0.1", 2180);
        telnetBuild.addExecutor("hello").to(HelloWordExecutor.class);
    }
    appContext.joinSignal();
}

輸入 telnet 127.0.0.1 2180 之后

>telnet 127.0.0.1 2180
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
--------------------------------------------

Welcome to tConsole!

     login : Tue Jan 07 14:26:29 CST 2020 now. form /127.0.0.1:60023
    workAt : /127.0.0.1:2180
Tips: You can enter a 'help' or 'help -a' for more information.
use the 'exit' or 'quit' out of the console.
--------------------------------------------
tConsole>

Host 模式

充當命令工具包,建議利用 Spring Boot 的 fat jar 打包能力整合使用。

public static void main(String[] args) {
    AppContext appContext = Hasor.create().build((TelModule) apiBinder -> {
        HostBuilder hostBuild = apiBinder.asHostWithSTDO().preCommand(args);
        hostBuild.addExecutor("hello").to(HelloWordExecutor.class);
    }
}

輸入 java xxx.jar hello 執行 hello 命令。

的碼云指數為
超過 的項目
加載中

評論(0)

暫無評論

暫無資訊

暫無問答

暫無博客

返回頂部
頂部
真人龙虎斗论坛