1.命令和代码
TERMINAL24
2.命令意义
IACWILLTERMINAL-TYPE
发送端可在一个后续子谈判中发送终端信息。
IACWON’TTERMINAL-TYPE
发送端拒绝发送终端信息。
IACDOTERMINAL-TYPE
发送端可在一个后续子谈判中接收终端信息。
IACDON’TTERMINAL-TYPE
发送端拒绝接收终端类型信息。
IACSBTEMINAL-TYPESENDIACSE
发送端请求接受端将其终端类型传给自己。SEND的命令码是1。(见下)
IACSBTERMINAL-TYPEISIACSE
发送端正在声明其终端类型。此命令的代码是0。(见下)
3.默认值
WON’TTERMINAL-TYPE
终端类型信息不变。
DON’TTERMINAL-TYPE
终端类型信息不便。
4.选项产生的原因
这个选项能够答应telnet服务器确认已连接到用户telnet程序的终端类型。类型信息的传输并不意味着处理过程会马上变化,这些信息可能传递给一个过程,这个过程对其为适应特定终端类型所发出的数据给以警告。例如,某些操作系统有终端驱动程序,所以可以接受用来表明驱动终端类型的代码。利用TERMANALTYPE和BINARY选项,在这些操作系统上的telnet服务器程序就可以驱动客户终端了,而且和直接连接的效果一样,包括鼠标的位置,丰富的颜色等,而这些是没有包括在虚拟网络终端的定义中的。通过推迟向SB命令传送状态信息,这个选项可以和普通TELNET选项的结构保持一致。
5.选项说明
WILL和DO只能用于获取和保证将来讨论的许可。实际的状态信息交换与选项子命令同时发生。(IACSBTERMINAL-TYPE)。
一旦两个主机开始进行WILL和DO的交换,处于DOTERMINAL-TYPEDE发送端就空闲以备请求类型信息。只有DO类型的发送端端可以发送请求(IACSBTERMINAL-TYPESENDIACSE),只有WILL类型的发送端可以传送实际的类型信息(用IACSBRMINAL-TYPEIS…IACSE命令)。终端类型信息不能以自动方式传送,而只能是以请求—响应的方式。
终端类型信息是NVTASCIIString字符串类型。这种编码不考虑大小写的差别。有效终端类型的完整列表可在最近的RFC“AssignedNumbers”找到。
接下来是一个选项应用的例子:
主机1:IACDOTERMINAL-TYPE
主机2:IACWILLTERMINAL-TYPE
(主机1可随时请求状态信息)
主机1:IACSBTERMINAL-TYPESENDIACSE
主机2:IACSBTERMINAL-TYPEISIBM-3728-2IACSE
6.实现
“终端类型”信息可以是任何对谈判双方有意义的NVTASCII字符串。在“AssignedNumber”中命名的终端类型表是用来降低由终端类型名称多样所引起的混乱。例如,假如一个终端被一部分人叫作“IBM3278-2”型,而另一部分人称其为“IBM3278/2”,在这个时侯就产生了混乱。对于终端类型未知的情况,是不能作出否定确认的,但是在有效终端类型名还未被确认的情况下,一些其他选项(如转换到BINARY模式)可能会被拒绝。在某些情况下,一个特定的终端可能会有不止一个名字,即一个特定类型可能对应于多个普通类型。在这些情况下,TERMINAL-TYPEIS命令可能会用很多不同的名字往返应连续的TERMINAL-TYPESEND命令。而在这种方式下,不明白第一次相应的telnet服务器会要求终端重发。然而假如服务器两次都收到了同样的响应,它就停止发送TERMINAL-TYPESEND命令。同样的,发送端应该用重复前一个类型名的方法表明它已经将所有有效的类型名发送完毕。注重:TERMINAL-TYPESEND命令在回应请求(TERMINAL-TYPESEND),这是因为发送TERMINAL-TYPESEND和接收TERMINAL-TYPESEND的主机不能确定其他主机是正在请求第二个选项,还是TERMINAL-TYPESEND和TERMINAL-TYPEIS两个命令在中途混淆了。
“UNKNOWN”类型可被用于当终端类型不确定或不可能被其他人认出的情况。
在“AssignedNumbers”中保持着完整并且是最新的终端类型名。终端类型名的最大长度为40个字符。