My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 网络应用 > 协议大全 > TELNET协议
Telnet窗口尺寸选项
作者:未知 时间:2005-08-02 22:27 出处:中国协议分析网 责编:My FAQ
              摘要:Telnet窗口尺寸选项

1.命令名称和选项代码
  名称=NAWS(NegotiateAboutWindowSize)协商窗口的尺寸

  代码=31
2.命令含义
  IACWILLNAWS

  由Telnet客户端发送来建议使用NAWS.

  IACWON'TNAWS

  由Telnet客户端发送来拒绝使用NAWS.

  IACDONAWS

  由Telnet服务器端发送来建议使用NAWS.

  IACDON'TNAWS

  由Telnet服务器端发送来拒绝使用NAWS.

  IACSBNAWS<16-bitvalue><16-bitvalue>IACSE

  由Telnet客户端发送,通知Telnet服务器端这个窗口的宽度和高度。窗口尺寸信息从Telnet客户端到Telnet服务器端通过这个选项来传递。此信息是参考性的。服务器可能接受这个选项,但是并不使用传递的信息。

  客户端和服务器端使用标准的TelnetWILL/DO/DON'T/WON'T机制来协商发送窗口尺寸信息。如果客户端和服务器端都同意,客户端可以发送一个子协商用来传递窗口的尺寸。如果以后客户端的窗口尺寸改变了(例如,窗口尺寸被用户改变),客户端可能再次发送这个子协商。因为在某些操作系统上,服务器正在执行的时候可能不允许更新窗口尺寸信息,所以服务器可能在接受最初的窗口尺寸后发送一个DON'TNAWS给客户端以阻止更多的子协商。一个协商循环将不会形成下面这些规则。

  子协商包含两个值,用字符表示的窗口的宽度值和高度值。这两个值中的每一个值都是以两个字节为一组以标准的Internet字节和比特顺序发送的。这就允许窗口的宽度或高度的最大值是65535个字符。对于宽度或高度来说,接受一个等于零的值就意味着没有字符宽度或高度被发送。既然如此,Telnet服务器将假定宽度或高度是与操作系统相关的(它将有可能是基于终端类型信息的,这个终端类型信息是使用TERMINALTYPE的Telnet选项来发送的)。

  子协商的语法是

  IACSBNAWSWIDTH[1]WIDTH[0]HEIGHT[1]HEIGHT[0]IACSE

  象Telnet协议所要求的那样,在子协商中任何出现255的地方都必须显示两次。为了和IAC(它有一个255的值)字符区别。
3.默认的规范
  WON'TNAWS

  DON'TNAWS

  这个选项不假定任何默认的窗口尺寸信息。通常由TERMINALTYPETelnet选项传递的终端类型可能暗示着一个窗口尺寸,但是对于这个选项,那是不必要的。
4.动机
  随着窗口系统的日益流行,Telnet客户端总是运行在一个可变尺寸的窗口中。Telnet服务器为了正确控制光标,需要知道窗口的尺寸。窗口可能在Telnet的会话过程中改变尺寸,更新的窗口尺寸需要传送给服务器。本备忘录就确定了一个从客户端到服务器发送用