如何将来自外部设备的传入Telnet数据转换为VB6

时间:2014-09-29 14:29:30

标签: vb6 ascii telnet translate

我连接了外部设备。 问题是我建立连接后得到的反馈就像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 - 子协商参数结束”

说真的是什么意思 - 我应该回答什么?

提前致谢

2 个答案:

答案 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中实现客户端。

你看过Telnet Client UserControl了吗?