我连接了外部设备。 问题是我建立连接后得到的反馈就像ASCII码一样:
ÿý↑
检查theese网站后:
Telnet
ASCII
Charsets
US-ASCII
Convert
我发现:
ÿ是255,代表IAC(解释为命令)和
ý是253,代表DO和
↑是24代表取消。
要将命令发送回终端,我这样做:
winsck.SendData Chr(255) 'IAC
winsck.SendData Chr(252) 'WONT
winsck.SendData Chr(24) 'CANCEL
要将ASCII代码转换为char,我制作了以下代码:
lblChar = Asc(txtASCII)
要将char转换为ASCII码,我制作了以下代码:
lblASCII = Chr(txtChar)
我想要来自终端的数据并修改它们,但首先我必须通过这种ASCII编码。
它在cmd.exe中的正常工作方式: 我写telnet后跟目的地的ipaddress:
telnet(终端的ipaddress)
然后cmd要我输入密码。之后我会准备编写命令。通常我写的是
lm -h
然后它会发给我很多数据。我想用我的VB6程序做同样的事情。发送终端“IAC不会取消”后我回来了:
ÿþ↑ÿûÿûᶫÿý
由于我试图翻译它,我得出了这个结果:
IAC - 请勿 - 取消 - IAC - 将(空间)IAC - 将 - 结束文本 - IAC - DO
发送终端后“IAC将取消”
我回来了:ÿú↑ÿð
=“IAC - 指示选项的子协商如下 - 取消(空格)IAC - 子协商参数结束”
说真的是什么意思 - 我应该回答什么?
提前致谢
答案 0 :(得分:0)
因为那些看起来像Telnet命令,你提到如果你通过Telnet连接你可以得到数据我假设你必须写一个Telnet客户端。如果您沿着这条路线前进并且可能telnet RFC
,我建议您先搜索telnet client vb6
。
然而,另一种选择可能是自动化像Putty这样的telnet客户端,这个问题可能对此有帮助:How to run a command file in PuTTY using automatic login in a command prompt?
答案 1 :(得分:0)
您的设备似乎充当Telnet服务器,您需要在VB6中实现客户端。