如何为Java应用程序提供telnet接口?

如何为Java应用程序提供telnet接口?,java,Java,我想为我的Java应用程序提供一个telnet接口,主要是为了让开发人员在实现面向最终用户的GUI之前能够与应用程序交互、查看调试信息等 有人能推荐一种简单有效的方法吗?我考虑过嵌入scala解释器,但它似乎无法通过telnet访问。Beanshell也一样(我不太喜欢它,因为我认为它没有维护)。试试它对telnet相关的东西有好处。你考虑过使用JMX吗?它内置在jdk中,可以通过jconsole远程访问您配置它的任何方法 现在,它不会像ssh或telnet那样工作,因此可能无法完全满足您的需要

我想为我的Java应用程序提供一个telnet接口,主要是为了让开发人员在实现面向最终用户的GUI之前能够与应用程序交互、查看调试信息等


有人能推荐一种简单有效的方法吗?我考虑过嵌入scala解释器,但它似乎无法通过telnet访问。Beanshell也一样(我不太喜欢它,因为我认为它没有维护)。

试试它对telnet相关的东西有好处。

你考虑过使用JMX吗?它内置在jdk中,可以通过jconsole远程访问您配置它的任何方法

现在,它不会像ssh或telnet那样工作,因此可能无法完全满足您的需要。但如果您的目标是远程调用方法和调试信息,那么这就是它的主要目的

好处是,在构建UI后,您仍然可以使用JMX工具在其上线后监控性能。

两个选项:

  • Grizzly用于嵌入通用服务器(http://grizzly.java.net/)
  • 米纳是另一个类似的选择(http://mina.apache.org/)
与Telnet相比,只嵌入web服务器可能更容易。并不是说CLI不酷,而是它可能更简单/更友好

  • 码头
  • 雄猫
JMX非常适合监控,但UI不适合“写入”数据。NetBeans中有一些不错的教程项目


我认为嵌入式Jetty上面的所有选项可能是最简单的。

我也遇到了同样的问题,并提出了一个(telnet服务器代码)plus(Java命令行历史编辑器、选项卡完成等)。我的应用程序在本地主机上侦听telnet连接,并在获得连接时运行CLI控制台循环


一个关键技巧是将行和列信息(通过telnet协议发送)从nvt4j传输到JLine,这样当您到达行的末尾时,事情就不会失控。

如果您只需要通过telnet的行模式接口,您可以使用我的Java类。

对,但它可以与某种shell集成吗,像Scala REPL甚至是Beanshell?另外,我并不需要对连接进行加密,因为它主要是本地的。嗯,谢谢-我将进一步调查JMX。有什么好的信息/教程指南吗?Sun(Oracle现在)提供了一个,Spring对它有很好的支持。我建议在谷歌上搜索一下。正式文档可能有点吓人,但JMX实际上非常易于使用。我唯一的建议是尽量将JMX与实际代码解耦。春天是最好的季节。但对于大多数事情来说,这是一个很好的建议。