我将开始设计一个控制台应用程序。这意味着类似于 MySQL 客户端,它提示用户输入命令然后执行它们(基本上是打开和监听 TCP 端口,管理一些基本的数据库操作和服务器管理的东西)。该应用程序基本上接受连接并将数据返回给客户端。
我希望这个应用程序根据应用程序的启动方式在 GUI 和控制台模式下运行(这里没问题)
GUI不是问题,而是控制台。我需要的是一种定义一组命令的方法,它们可能有也可能没有任何数量的参数。此命令可能会提示确认、密码或返回一组数据。我想让事情保持优雅、可维护,并避免构建可能失控的“有限状态机”。
我想实现类似:
[ready]> server:start;
Server started.
[running]> connections:list;
Conn IP Port
Name1 192.168.2.2 60000
Name2 192.168.2.4 60002
[running]> connections:close Name1;
1 connection closed.
[running]> server:stop;
password? ******
Server stopped.
[ready]>
是否有任何框架、工具或技术可以在 Java 上实现这一目标?