为了账号安全,请及时绑定邮箱和手机立即绑定

telnet java实现,单元测试没问题,但在web环境中调用?

telnet java实现,单元测试没问题,但在web环境中调用?

Cats萌萌 2018-10-19 19:14:43
用的common-net.jar中的TelnetClient实现写了3个类ConnTelnetUtil --Telnet的功能类,也是TelnetClient的包装类ConnTelnetSessionManager--TelnetSession管理类,也相当于session池ConnTelnetBean --Telnet池相关属性bean思路是ConnTelnetUtil是封装TelnetClient对象。ConnTelnetBean包含ConnTelnetUtil对象ConnTelnetSessionManager管理ConnTelnetBean。外部程序直接调用ConnTelnetSessionManager建立telnet连接、发生命令等。我将Action中连接时的ConnTelnetBean、ConnTelnetUtil、TelnetClient和发命令时从管理类中取出来的ConnTelnetBean、ConnTelnetUtil、TelnetClient做了比较,前2者都是同一实例,只有最后一个不是,现在不知道问题出在哪,折腾了一上午,各位大大帮帮忙啊。
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

public ConnTelnetUtil() throws InvalidTelnetOptionException, IOException{ telnet=new TelnetClient(); TerminalTypeOptionHandler ttopt = new TerminalTypeOptionHandler( "VT320", false, false, true, false); EchoOptionHandler echoopt = new EchoOptionHandler(true, true, true, true); SuppressGAOptionHandler gaopt = new SuppressGAOptionHandler(true, true, true, true); telnet.addOptionHandler(ttopt); telnet.addOptionHandler(echoopt); telnet.addOptionHandler(gaopt); }哎哟,这个东西的网上资料太少, 要对talnet加3个option才能在web环境下调用另外他自己的timeout是无效的,为了保证池中telnet会话的即使回收,得自己写个子线程监控会话,模拟timeout时间来释放连接。

查看完整回答
反对 回复 2018-11-09
  • 1 回答
  • 0 关注
  • 837 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信