各位大虾们好!
最近小弟在研究这个,用的包是apache的common-net包,有一个TelnetClient这样的类提供了connect,getInputstream(服务器反馈的消息),getOutputStream(用于命令请求,登录等),现在我遇到这样一个问题,当我通过cmd命令窗口输入telnet + ip地址访问后,输入了正确的用户名和密码,可以登录。但我通过java操作,同样输入了相同正确的用户名和密码,说我not valid sign in?这是怎么回事?PrintStream out = new PrintStream(tc.getOutputStream());
out.println("MERTST60")-----用户名
out.println("MERTST60")-----密码
这是我正确的,可是java就说登录出错,难道我要通过java找到telnet命令窗口光标所在位置,然后在这个位置后输入码?
然后我同样试了一下这样的:
out.println("MERTST60")-----用户名
out.println("MERTST60\n\r")-----密码
用户名和密码在界面上是两行展示的,但我用了println它也表示换行呀,是不是我要通过java找到光标,这么做呢?那这样是不是每一步操作我都要通过找光标后,然后输入呢?

解决方案 »

  1.   

    我连的是AS/400,telnet正常登陆,相同的用户名,密码在java操作是CPF1116 Next not valid sign-on attempt varies off device.?奇怪的问题
      

  2.   

    这个不是反应问题,如果你在控制台输入telnet命令后,输错两次以上用户名和密码不匹配,也会报这个错,不是延迟或者反应时间问题,不信你试试,呵呵。所以这个错误还是用户名和密码不匹配问题,但我用相同的在命令行中是正确的,所以是不是我通过java,outputStream发送,是不是没有在所需位置即光标所在的地方输入,可能将用户名和密码输入到一个我自己都不知道的地方,没有在需要输入的地方输入这个用户名和密码?所以请各位高手们给些建议,或者是否碰到过这样的?谢谢哈
      

  3.   

    急,怎么没有办法了!现在我换成JTOpen,
    用AS400 connect = AS400(IP,UserId,Password),connect.service(connect.DATAQUEUE),错误连接超时,connet error: timeout,各位大虾,回句话吧!最近在做这个项目,急呀!以后我有什么知道,也可以帮助各位,互帮互助呀!怎么没人理的呀,跪求哈
      

  4.   

    不就是通过流与TELNET服务器交互么,你链接成功后取得对应的InputStream in和OutputStream out。需要密码的话服务器会给你提示的,比如login什么的,你收到提示后再用out流发送对应的信息,所以需要你双线程,一个侦听服务器返回信息,一个处理判断,向out中写入你的命令,比如用户名,命令完成再次收到录入密码提示后再发送密码。
    这是我的想法,你看有用不
      

  5.   

    首先谢谢楼上的,可这是telnet连接AS400,没有用户名,密码提示之类,不会跳出什么提示之类的话