选项设置

选项也可以在连接持续过程中动态改变来适应本地机器条件的变化。例如,NVT它将以后被详细解释)对于许多“一次一行”的应用程序,如BASIC是十分适用的,而对于如NLS的“一次一字”的应用程序却不怎么好用。服务器可能被选择作为“一次一字”法则来适应在其上运行的本地进程,它将发起对话以达到合适的选项状态。然而,相对于永久地负责这种多余的处理负担;它可以通过会话,在不需要这样的选项状态下回到NVT状态。由一个进程发起的请求可以导致一个不可终止的请求循环,如果此进程对一个拒绝请求的响应是再次要求此选项。为了防止这样循环的发生,被拒绝的请求在其它事情发生变化之前不能被重复请求。这可能意味着,进程运行另外一个程序,或者用户发送另外的命令,或者用户对于环境或选项的改变。

比较好的方法是,预请求应该作为由另一端发送信息的结果而发生,或者由于人为介入而发生。选项的设计者不应该因为对于选项会话的种种限制而感觉到伸不开手脚。一般语法的目的是更容易地拥有选项--因为表示对它们的忽视也是容易的。

如果特定的选项需要除"DO, DON'T, WILL, WON'T"以外的更丰富的结构,正确的方针是使用"DO, DON'T, WILL, WON'T"来建立连接解释这种新结构,当这一解释工作完成时,就可以自由地使用这一新结构了。例如,一方可能发送请求改变或建立)每行的长度。如果接受了这些,对于对话的不同行长度可以使用不同的语法来表示--“子对话”可以包括一个域表示最大允许的,最小允许的和希望的长度。重要概念是这样的扩充的会话应该直到双方建立了标准的会话并且能够解释这种扩充的语法之后再进行。总的来说,WILL XXX发送时说明一方希望执行选项XXX,DO XXX 和 DON'T XXX作为确定的不确定的响应;同样,DO XXX被作为一种请求发送给另一方来启动选项XXX,WILL XXX 和WON'T将被作为确定和不确定的响应。因为NVT是没有任何选项时的结果, DON'T和WON'T响应将保证使连接最终保持于这种没有任何选项的状态。因此,所有主机可以不支持不理解的选项,它仅仅需要返回这种选项的请求即可。

尽可能的,Telnet协议被用作服务器-用户的对称,这样,它就可以更容易而自然地处理用户-用户和服务器-服务器的情况。用选项来扩展这一功能是被希望实现的,但不是必要的。在任何情况下,对称是一个运行的准则而不是固定的准则多次被明确提出。一个比较文档,“Telnet选项说明”,可以被用于对建立新选项过程信息的参考。

网络虚拟终端网络虚拟终端NVT)是一个双向字符设备。NVT有一个显示设备和一个键盘。显示设备响应到达的数据,键盘负责通过Telnet连接发送数据,如果需要回显,也应该在NVT的显示设备上显示。对于网络上的回显并不要求虽然确实存在这个“远程”回显选项,但是主机必不是必须实现此选项)。字符集是由七位ASCII码组成的,而保存在八位的域中。任何字符的转换和计时方面的考虑都是本地的问题,这不影响NVT的工作。


相关内容