⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc854.4up.ps

📁 this gives details of the network programming
💻 PS
📖 第 1 页 / 共 5 页
字号:
(   intent.  In any case, it is explicitly acknowledged that symmetry is) s5 400 M(   an operating principle rather than an ironclad rule.) s5 374 M(   A companion document, "TELNET Option Specifications," should be) s5 361 M(   consulted for information about the procedure for establishing new) s5 348 M(   options.) s5 322 M(THE NETWORK VIRTUAL TERMINAL) s5 296 M(   The Network Virtual Terminal \(NVT\) is a bi-directional character) s5 283 M(   device.  The NVT has a printer and a keyboard.  The printer responds) s5 270 M(   to incoming data and the keyboard produces outgoing data which is) s5 257 M(   sent over the TELNET connection and, if "echoes" are desired, to the) s5 244 M(   NVT's printer as well.  "Echoes" will not be expected to traverse the) s5 231 M(   network \(although options exist to enable a "remote" echoing mode of) s5 218 M(   operation, no host is required to implement this option\).  The code) s5 205 M(   set is seven-bit USASCII in an eight-bit field, except as modified) s5 192 M(   herein.  Any code conversion and timing considerations are local) s5 179 M(   problems and do not affect the NVT.) s5 153 M(   TRANSMISSION OF DATA) s5 127 M(      Although a TELNET connection through the network is intrinsically) s5 114 M(      full duplex, the NVT is to be viewed as a half-duplex device) s5 101 M(      operating in a line-buffered mode.  That is, unless and until) s5 36 M(Postel & Reynolds                                               [Page 4]) s_R_RS%%Page: (5-8) 2%%BeginPageSetup_S24 818 translate%Page: (5) 5%BeginPageSetup_S% N-up sub-page 1/40 -392 translate0.490859 dup scale/pagenum 5 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc854.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc854.txt) def% User defined strings:/fmodstr (Fri Oct 05 00:00:00 1990) def/pagenumstr (5) def/user_header_p true def/user_header_left_str (RFC854) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 5 of 16) def%%EndPageSetupdo_header5 725 M(RFC 854                                                         May 1983) s5 686 M(      options are negotiated to the contrary, the following default) s5 673 M(      conditions pertain to the transmission of data over the TELNET) s5 660 M(      connection:) s5 634 M(         1\)  Insofar as the availability of local buffer space permits,) s5 621 M(         data should be accumulated in the host where it is generated) s5 608 M(         until a complete line of data is ready for transmission, or) s5 595 M(         until some locally-defined explicit signal to transmit occurs.) s5 582 M(         This signal could be generated either by a process or by a) s5 569 M(         human user.) s5 543 M(         The motivation for this rule is the high cost, to some hosts,) s5 530 M(         of processing network input interrupts, coupled with the) s5 517 M(         default NVT specification that "echoes" do not traverse the) s5 504 M(         network.  Thus, it is reasonable to buffer some amount of data) s5 491 M(         at its source.  Many systems take some processing action at the) s5 478 M(         end of each input line \(even line printers or card punches) s5 465 M(         frequently tend to work this way\), so the transmission should) s5 452 M(         be triggered at the end of a line.  On the other hand, a user) s5 439 M(         or process may sometimes find it necessary or desirable to) s5 426 M(         provide data which does not terminate at the end of a line;) s5 413 M(         therefore implementers are cautioned to provide methods of) s5 400 M(         locally signaling that all buffered data should be transmitted) s5 387 M(         immediately.) s5 361 M(         2\)  When a process has completed sending data to an NVT printer) s5 348 M(         and has no queued input from the NVT keyboard for further) s5 335 M(         processing \(i.e., when a process at one end of a TELNET) s5 322 M(         connection cannot proceed without input from the other end\),) s5 309 M(         the process must transmit the TELNET Go Ahead \(GA\) command.) s5 283 M(         This rule is not intended to require that the TELNET GA command) s5 270 M(         be sent from a terminal at the end of each line, since server) s5 257 M(         hosts do not normally require a special signal \(in addition to) s5 244 M(         end-of-line or other locally-defined characters\) in order to) s5 231 M(         commence processing.  Rather, the TELNET GA is designed to help) s5 218 M(         a user's local host operate a physically half duplex terminal) s5 205 M(         which has a "lockable" keyboard such as the IBM 2741.  A) s5 192 M(         description of this type of terminal may help to explain the) s5 179 M(         proper use of the GA command.) s5 153 M(         The terminal-computer connection is always under control of) s5 140 M(         either the user or the computer.  Neither can unilaterally) s5 127 M(         seize control from the other; rather the controlling end must) s5 114 M(         relinguish its control explicitly.  At the terminal end, the) s5 101 M(         hardware is constructed so as to relinquish control each time) s5 88 M(         that a "line" is terminated \(i.e., when the "New Line" key is) s5 75 M(         typed by the user\).  When this occurs, the attached \(local\)) s5 36 M(Postel & Reynolds                                               [Page 5]) s_R%Page: (6) 6%BeginPageSetup_S% N-up sub-page 2/4278 -392 translate0.490859 dup scale/pagenum 6 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc854.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc854.txt) def% User defined strings:/fmodstr (Fri Oct 05 00:00:00 1990) def/pagenumstr (6) def/user_header_p true def/user_header_left_str (RFC854) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 6 of 16) def%%EndPageSetupdo_header5 725 M(RFC 854                                                         May 1983) s5 686 M(         computer processes the input data, decides if output should be) s5 673 M(         generated, and if not returns control to the terminal.  If) s5 660 M(         output should be generated, control is retained by the computer) s5 647 M(         until all output has been transmitted.) s5 621 M(         The difficulties of using this type of terminal through the) s5 608 M(         network should be obvious.  The "local" computer is no longer) s5 595 M(         able to decide whether to retain control after seeing an) s5 582 M(         end-of-line signal or not; this decision can only be made by) s5 569 M(         the "remote" computer which is processing the data.  Therefore,) s5 556 M(         the TELNET GA command provides a mechanism whereby the "remote") s5 543 M(         \(server\) computer can signal the "local" \(user\) computer that) s5 530 M(         it is time to pass control to the user of the terminal.  It) s5 517 M(         should be transmitted at those times, and only at those times,) s5 504 M(         when the user should be given control of the terminal.  Note) s5 491 M(         that premature transmission of the GA command may result in the) s5 478 M(         blocking of output, since the user is likely to assume that the) s5 465 M(         transmitting system has paused, and therefore he will fail to) s5 452 M(         turn the line around manually.) s5 426 M(      The foregoing, of course, does not apply to the user-to-server) s5 413 M(      direction of communication.  In this direction, GAs may be sent at) s5 400 M(      any time, but need not ever be sent.  Also, if the TELNET) s5 387 M(      connection is being used for process-to-process communication, GAs) s5 374 M(      need not be sent in either direction.  Finally, for) s5 361 M(      terminal-to-terminal communication, GAs may be required in) s5 348 M(      neither, one, or both directions.  If a host plans to support) s5 335 M(      terminal-to-terminal communication it is suggested that the host) s5 322 M(      provide the user with a means of manually signaling that it is) s5 309 M(      time for a GA to be sent over the TELNET connection; this,) s5 296 M(      however, is not a requirement on the implementer of a TELNET) s5 283 M(      process.) s5 257 M(      Note that the symmetry of the TELNET model requires that there is) s5 244 M(      an NVT at each end of the TELNET connection, at least) s5 231 M(      conceptually.) s5 205 M(   STANDARD REPRESENTATION OF CONTROL FUNCTIONS) s5 179 M(      As stated in the Introduction to this document, the primary goal) s5 166 M(      of the TELNET protocol is the provision of a standard interfacing) s5 153 M(      of terminal devices and terminal-oriented processes through the) s5 140 M(      network.  Early experiences with this type of interconnection have) s5 127 M(      shown that certain functions are implemented by most servers, but) s5 114 M(      that the methods of invoking these functions differ widely.  For a) s5 101 M(      human user who interacts with several server systems, these) s5 88 M(      differences are highly frustrating.  TELNET, therefore, defines a) s5 75 M(      standard representation for five of these functions, as described) s5 36 M(Postel & Reynolds                                               [Page 6]) s_R%Page: (7) 7%BeginPageSetup_S% N-up sub-page 3/40 -794 translate0.490859 dup scale/pagenum 7 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc854.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc854.txt) def% User defined strings:/fmodstr (Fri Oct 05 00:00:00 1990) def/pagenumstr (7) def/user_header_p true def/user_header_left_str (RFC854) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 7 of 16) def%%EndPageSetupdo_header5 725 M(RFC 854                                                         May 1983) s5 686 M(      below.  These standard representations have standard, but not) s5 673 M(      required, meanings \(with the exception that the Interrupt Process) s5 660 M(      \(IP\) function may be required by other protocols which use) s5 647 M(      TELNET\); that is, a system which does not provide the function to) s5 634 M(      local users need not provide it to network users and may treat the) s5 621 M(      standard representation for the function as a No-operation.  On) s5 608 M(      the other hand, a system which does provide the function to a) s5 595 M(      local user is obliged to provide the same function to a network) s5 582 M(      user who transmits the standard representation for the function.) s5 556 M(      Interrupt Process \(IP\)) s5 530 M(         Many systems provide a function which suspends, interrupts,) s5 517 M(         aborts, or terminates the operation of a user process.  This) s5 504 M(         function is frequently used when a user believes his process is) s5 491 M(         in an unending loop, or when an unwanted process has been) s5 478 M(         inadvertently activated.  IP is the standard representation for) s5 465 M(         invoking this function.  It should be noted by implementers) s5 452 M(         that IP may be required by other protocols which use TELNET,) s5 439 M(         and therefore should be implemented if these other protocols) s5 426 M(         are to be supported.) s5 400 M(      Abort Output \(AO\)) s5 374 M(         Many systems provide a function which allows a process, which) s5 361 M(         is generating output, to run to completion \(or to reach the) s5 348 M(         same stopping point it would reach if running to completion\)) s5 335 M(         but without sending the output to the user's terminal.) s5 322 M(         Further, this function typically clears any output already) s5 309 M(         produced but not yet actually printed \(or displayed\) on the) s5 296 M(         user's terminal.  AO is the standard representation for) s5 283 M(         invoking this function.  For example, some subsystem might) s5 270 M(         normally accept a user's command, send a long text string to) s5 257 M(         the user's terminal in response, and finally signal readiness) s5 244 M(         to accept the next command by sending a "prompt" character) s5 231 M(         \(preceded by <CR><LF>\) to the user's terminal.  If the AO were) s5 218 M(         received during the transmission of the text string, a) s5 205 M(         reasonable implementation would be to suppress the remainder of) s5 192 M(         the text string, but transmit the prompt character and the) s5 179 M(         preceding <CR><LF>.  \(This is possibly in distinction to the) s5 166 M(         action which might be taken if an IP were received; the IP) s5 153 M(         might cause suppression of the text string and an exit from the) s5 140 M(         subsystem.\)) s5 114 M(         It should be noted, by server systems which provide this) s5 101 M(         function, that there may be buffers external to the system \(in) s5 36 M(Postel & Reynolds                                               [Page 7]) s_R%Page: (8) 8%BeginPageSetup_S% N-up sub-page 4/4278 -794 translate0.490859 dup scale/pagenum 8 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc854.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc854.txt) def% User defined strings:/fmodstr (Fri Oct 05 00:00:00 1990) def/pagenumstr (8) def/user_header_p true def/user_header_left_str (RFC854) def/user_header_center_str (RFC.net) def

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -