aardio - 【库】telnet

作者分享了一个轻量级的Ardio Telnet库,用于简化telnet操作,通过实例展示了如何连接、交互和处理延迟。鼓励社区改进并分享更完善的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到好几个网友说起无法实现 telnet,于是就简单写了这么个库。

没有考虑太多规则,主要是处理了一下获取执行结果的延时问题。

旨在抛砖引玉,希望有网友做出更完善的库来,分享给大家使用。

库下载:

光庆·程序·在线 → aardio资源下载

解压缩到 /lib/godking/ 目录下,引用方式:

import godking.telnet

示例:

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add()
/*}}*/
 
winform.show();
 
import console; 
import godking.telnet
 
var c = godking.telnet("192.168.100.254")
 
console.log("============================")
var r,v = c.waitInclude("Login")
console.log("等待输入密码提示:",r,v)
 
console.log("============================")
 if r c.sendn("12345678")
console.log("已输入密码登录,执行结果:",c.get())
 
console.log("============================")
c.sendn("dis this")
console.log("dis this,执行结果:",c.get())
 
console.log("============================")
c.sendn("dis ?")
console.log("dis ?,执行结果:",'\n',c.get())
 
console.log("============================")
c.send(' ')
console.log("空格,执行结果:",'\n',c.get())
 
console.log("============================")
c.send('0')
console.log("退出dis,执行结果:",'\n',c.get())
 
console.log("============================")
c.sendn('\8\8\8\8quit')
console.log("quit,执行结果:",c.get())
 
win.loopMessage();

执行结果:


如果出现 more,想要继续操作,方法如下:

send(' ') 继续显示一屏,send('\n') 继续显示一行,send('0') 退出more。

以下是关于telnet协议部分数据解析,仅供参考:

		/*****
		接收数据:
    		'\xFF\xFD\x18' // Do Terminal Type("终端类型")
    		'\xFF\xFD\x20' //Do Terminal Speed("终端速率")
    		'\xFF\xFB\x03' //Will Suppress Go Ahead("抑制继续进行")
    		'\xFF\xFD\x01' //Do Echo("回显")
    		'\xFF\xFD\x1F' //Do Negotiate About Window Size("窗口大小")
    		'\xFF\xFB\x05' //Will Status("同意状态")
    		'\xFF\xFA\x18\x01' //Suboption Terminal Type
    		'\xFF\xF0' //Suboption End
    	发送数据:
        	'\xFF\xFD\x18' //Will Terminal Type
        	'\xFF\xFB\x1F' //Will Negotiate About Window Size
        	'\xFF\xFC\x20' //Won't Terminal Speed
        	'\xFF\xFD\x03' //Do Suppress Go Ahead
        	'\xFF\xFB\x01' //Will Echo
        	'\xFF\xFA\x1F\x00\x78\x00\x1D' //Suboption Negotiate About Window Size
        	'\xFF\xF0' //Suboption End
        	'\xFF\xFE\x05' //Don't Status
		*****/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值