我想用Delphi编写一个后台的telnet命令 命令,应该怎么做
例如telnet 10.2.56.14
进入后执行下列命令
HammerOS Version 1.4(Build 0113) on uHammer2824.Login: admin
Password:123xue_16> en
Password:123xue_16(config)# delete fdbentry 000000000000

解决方案 »

  1.   

    提示一下,不能公布代码如果要以后经常使用的话,建议采用脚本方法具体的记不清楚了 肯定有一个readtimeout 类似的,比如当 你设置的readtimeout 为100 ms 当 它报read time out 错误的话,就基本证明 服务器在等待你输入内容
    你可以获取到接受的字符,判断是否为 你所需要的开头,如果是,就把你输入的内容发送的服务器端,如此循环,直到你输入完成或者必能匹配你下一步操作的前标
      

  2.   

    打个比方哈 你用Telnet 上去后,会收到他的内容,如果是我们人工去等待提示输入内容的话,如
    HammerOS Version 1.4(Build 0113) on uHammer2824.Login: 
    这个时候我们知道应该输入了,但是我们如果要程序自动输入应该怎么判断了所以,你需要一个类似脚本的步骤配置文档。如提示符   输入
    login:    admin当我们假设 终端如果200ms没有发送字节给我们程序了,那么我们就判断为终端在等待我们输入了,这里我们判断 最后几个字符是否为 login: 如果是 我们就把admin传给终端就是了,如此循环就实现了哈不要告诉我你不会用indy 里面telnet组件哈,那就看看它的demo哈
      

  3.   

    很简单的,用DELOHI 的SOCKET 实现去了解下TELNET协议,其实就是SOCKET 连接 21端口,然后读取他的返回的字符,一般返回到 login:后,就会阻塞,这时你 输入用户名,发送,设备返回pass: 又阻塞,你在输入密码发送最个步骤就是这样的,这样的功能我在JAVA下已经实现在是思路,必须用SOCKET来做的,楼主可以去多了解下。
      

  4.   

    寫telnet 就是要了解telnet 的protocol, 還有了解你想如何在delphi 中呈現.
    要參考好一點的, 請找ICS component 的telnet 來看, Indy的就不必了.