科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道自己编制支持终端打印TELNET程序(2)

自己编制支持终端打印TELNET程序(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在行业用户中,大多数基层计算机应用系统采用UNIX作OS,用支持RS232连接的终端做业务处理,打印也通过终端实现。

作者:论坛整理 来源:ZDNet网络安全 2007年12月19日

关键字: telnet命令 opentelnet linux telnet telnet入侵 telnet telnet端口

  • 评论
  • 分享微博
  • 分享邮件

  连接建好后,PC机与服务器用TELNET协议命令建立协调机制。命令共有15条,每条命令前都要加上字符IAC(255),指出紧跟着的字符是命令。代码250和代码240用作命令的分界符,其余命令可分为两类。(一)基本命令:由代码241-249代表,它们执行TELNET的基本功能;(二)磋商选择命令:由代码251-254表示,这类命令主要实现两进程间磋商各种可选扩充功能。命令列表(1),详细解释,请查阅有关资料。

  二、 实现VT100终端类型的虚拟

  (一)、在有关窗体上加入一个TEXT控件,设为Text1,在Text1.KeyPress事件中,获得PC机的键盘输入,然后把相应键值变更为VT100终端键盘所对应的键值,把该值用Winsock控件的SendData方法发送给服务器,并禁止向TEXT控件的输出。

  (二)、服务器接收键值后,作出相应的处理,并把输出的内容发送给对应的客户端,我们在Winsock控件的DataArrival事件中调用Winsock控件的GetData方法,来获得服务器发来的数据。

  (三)、我们获得的从服务器发来的数据中,包含终端的控制指令。必须把控制指令分离出来,并做相应处理,同时把显示数据送到显示界面的指定位置。有关VT100终端指令的详细说明,请查阅有关技术手册,这里以光标定位指令ESC[Pr;Pc H举例说明。该指令的解释为:把显示界面的光标移动到第Pr行,第Pc列,Pr、Pc均为10进制数字,Pr值在1-24中,Pc值在1-80中。我们可把显示界面看做24X80的矩阵,每一个矩阵点上是一个字符,假设Pr=10,Pc=30,那么对该指令的执行结果,就是把对应光标位置的指针移到显示界面的显存偏移(10-1)*80+30的地方。具体实现过程如下:

  ‘***接收键盘输入、与服务器连接并向服务器发送***

  Private Sub Text1_KeyPress(KeyAscii As Integer)

  Dim ch as String

  ‘判断网络连接是否处于正常状态

  If Winsock1.State <>0 And Winsock1.State <>7 Then

  ch = MsgBox("网络异常,请重新连接!")

  KeyAscii = 0 ‘封锁键盘输入

  Exit Sub ‘退出本事件

  End If

  If Winsock1.State = 0 Then ‘网络处于断开状态

  IPADDR=Winsock1.RemoteHost

  Winsock1.Connect IPAddR, 23 ‘与服务器连接

  Else

  Winsock1.SendData StrConv(Chr(KeyAscii), 8) ‘向服务器发送键盘输入

  End If

  KeyAscii = 0 ‘禁止向Text控件送键值

  End Sub

  ‘***接收服务器向客户端发送的数据***

  Private Sub newRecdata(CHRR As Variant) ‘虚拟终端处理函数

  ......

  Print_ComX CHRR ‘调用打印指令处理函数

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章