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

📄 rfc1043.txt

📁 <VC++网络游戏建摸与实现>源代码
💻 TXT
📖 第 1 页 / 共 4 页
字号:
      data.  In this case, field size is the data string length.  The      data string is terminated by the GO-AHEAD or any DET subcommand,      except the REPEAT subcommand.      There are no restrictions on attribute combinations that might be      applied to a field even though some combinations may not be      supported by terminal hardware.  The terminal implementation      should display the field with a "reasonable" combination of      attributes.  There is an error code that might be returned when an      "unsupported combination of format attributes" is detected.  It is      not clear what the application should do about the error.  In any      event, this condition should not provoke session termination.      Field contents (data) are restricted to printable ASCII characters      and "BELL" (codes 32 through 126 and 7 decimal).  It is the      responsibility of the application implementation to properly      translate carriage returns, line feeds, tabs, etc.  to the      appropriate DET subcommands.      The maximum number of fields a screen might contain is the screenYasuda & Thompson                                              [Page 20]RFC 1043              Data Entry Terminal - DODIIS         February 1988      size in characters (the product of characters per line and lines      per screen).      Fields may not overlap.  That is, a new field may not start or end      within a previously defined field.  However, overwriting of a      field to change its attributes or contents is permitted.      There are no restrictions on the order in which a form is built      (e.g., left-to-right and top-to-bottom); the terminal      implementation must be prepared to handle any order.  Terminal      implementations are encouraged to display data as it arrives to      accommodate applications that persist in displaying status updates      on the task(s) they are performing.      If an application elects to modify a user edited form, it must      properly position the cursor making no assumptions about where the      user might have left the cursor.  Further it must exactly      overwrite the existing fields.      When form construction is complete, the application indicates its      response requirements by sending the appropriate transmit      subcommand.  It may send TRANSMIT-SCREEN, TRANSMIT-UNPROTECTED, or      TRANSMIT-MODIFIED to request data and/or it may send READ-CURSOR      to request cursor position.  TRANSMIT-MODIFIED should be used      whenever possible to minimize the volume of data transmitted      between user and server hosts.   Form response      A form response is generated by the terminal implementation when      the user signals "form-complete" or enters an enabled function      key.  The data returned are determined by the application through      the transmit subcommands.  If no transmit subcommand was sent the      Modified and Protection attributes are used to determine an      implied transmit subcommand.  If the Modified attribute has been      negotiated, assume TRANSMIT-MODIFIED.  If the Protection attribute      has been negotiated but the Modified has not, assume      TRANSMITUNPROTECTED.  If neither has been negotiated, assume      TRANSMITSCREEN.  (The intent is to achieve transmission efficiency      by returning the smallest amount of data permitted by the in-force      DET attributes.)                                   CAUTION:              With TRANSMIT-MODIFIED the terminal implementation              must return all fields marked with the Modified              attribute in addition to fields actually modified by              the terminal user.Yasuda & Thompson                                              [Page 21]RFC 1043              Data Entry Terminal - DODIIS         February 1988      Returned fields are identified and delimited using the      DATATRANSMIT and/or FIELD-SEPARATOR subcommands.  The DATA-      TRANSMIT subcommand indicates the cursor address of the field that      follows it and there are no restrictions on the order in which      fields are returned.  The FIELD-SEPARATOR subcommand conveys      left-to-right and top-to-bottom field ordering.  Data not preceded      by one of these subcommands is assumed to be the first unprotected      field in the form.  A FIELD-SEPARATOR followed by FIELD-SEPARATOR      indicates a field was unchanged and not returned.      Unless otherwise restricted by Numeric-only or Alphabetic-only      attributes, data entered into unprotected fields is restricted to      the printable ASCII characters and "BELL" (codes 32 through 126      and 7 decimal); no other characters are permitted.   Function keys      By general agreement, DODIIS terminal implementations will support      64 function keys (key values 0 through 63).  Information on      mapping function keys to application functions is the      responsibility of the application and should be provided to the      terminal user in the form of user documentation.      The application enables and disables the function keys and      indicates its form response requirements by sending the      ENABLEFUNCTION-KEY subcommand.  The terminal implementation      validates function key selections based on information received in      the ENABLE-FUNCTION-KEY bitmap.  When an enabled function key is      entered, the terminal returns a form response (if indicated in the      bitmap), a FUNCTION-KEY subcommand, and the GO-AHEAD.      Virtual function keys are part of the DET's virtual keyboard and      are "locked" when the application has the GO-AHEAD.  Since the      terminal sends the GO-AHEAD when a function key is entered,      entering a function key "re-locks" all function keys until the      GO-AHEAD is returned.   Field selection      Any character within a field having the Selectable attribute is a      candidate for selection.  When selection is made, the terminal      returns a SELECTED-FIELD subcommand identifying the character      position selected.  Multiple selections are permitted; however,      the ordering of the selections need not be preserved.  Field      selection does not cause the GO-AHEAD to be sent.  The GO-AHEAD      must be sent as a result of another user action such as a function      key entry or "form-complete" indication.  Field selection is      disabled when the application has the GO-AHEAD.Yasuda & Thompson                                              [Page 22]RFC 1043              Data Entry Terminal - DODIIS         February 1988   Out-of-context data      The out-of-context-data subcommands identify data that is clearly      not in the context of the form interaction.  It is a convenient      not in the mechanism for sending ARE-YOU-THERE responses or host      advisory messages to the user without disturbing the DET's virtual      screen or altering the context of the form interaction.      The application may send out-of-context data at anytime.  The data      must be preceded by the START-OUT-OF-CONTEXT-DATA subcommand and      followed immediately by the END-OUT-OF-CONTEXT-DATA subcommand.      The out-of-context data should contain carriage returns and line      feeds to facilitate formatting.  The sender should limit the      amount of data sent, since most terminal implementations must      buffer the data prior to displaying it.  The terminal      implementation should display the data to the user in a timely      fashion.  The data is for display only, no user response is      required, and there is no mechanism for user response.   Line Discipline      The subject of DET and line discipline (controlling the connection      using the GO-AHEAD) causes a bit of confusion.  The following      rules apply to GO-AHEAD and the DET option:         When DET is negotiated, the application assumes the GO-AHEAD.         GO-AHEAD is never passed implicitly; it is always passed         explicitly.         When the application has the GO-AHEAD, the terminal         implementation may send TELNET commands (INTERRUPT-PROCESS,         ABORT-OUTPUT, BREAK, and ARE-YOU-THERE).  Nothing else is         valid.         When the terminal has the GO-AHEAD, the application may send         out-of-context data or MOVE-CURSOR and FORMAT-DATA subcommands         to update protected fields.  Nothing else is valid.  (The         terminal implementation must display the out-of-context data         and the field updates as soon as convenient.)         The terminal implementation sends the GO-AHEAD, without further         action on the part of the terminal user, when an enabled         function key or a "form-complete" is entered.      Since the terminal user must take explicit action to return the      GO-AHEAD to the application, instances will occur when the user      has the GO-AHEAD but the application needs it to display a new      form.  (This is most likely to occur when the user enters anYasuda & Thompson                                              [Page 23]RFC 1043              Data Entry Terminal - DODIIS         February 1988      INTERRUPT PROCESS.)  When it does occur, the application should      send an out-of-context-context message requesting the user to      enter a "form-complete".  If the user cooperates, the application      can ignore any associated form response and regain control of the      connection to display its form.      The line discipline described here is more rigorous than that      described for NVT in MIL-STD-1782.  These rules apply only when      operating in DET mode.  At other times, the descriptions contained      in MIL-STD-1782 apply.  This distinction is necessary to ensure      interoperability with non-DET implementations of TELNET.   Standard TELNET control functions      The TELNET control functions, ERASE CHARACTER and ERASE LINE, are      NOT required and should not be sent in DET mode.   Other implementation notes      a. The DODIIS DET conceptual model does not support character         editors or basic scrolling applications.      b. Implementors are cautioned that DET subcommand parameters         (e.g., facilities maps) may take on the value of the IAC         character and must be replicated if they are to be properly         interpreted.      c. Principle of Robustness:  "Be conservative in what you send; be         liberal in what you accept from others."Yasuda & Thompson                                              [Page 24]RFC 1043              Data Entry Terminal - DODIIS         February 1988APPENDIX 1 - DET OPCODES AND SUBCOMMAND SYNTAX.             OPCODE    SUBCOMMAND SYNTAX             ------    -----------------              1     EDIT-FACILITIES <facility map>              2     ERASE-FACILITIES <facility map>              3     TRANSMIT-FACILITIES <facility map>              4     FORMAT-FACILITIES <facility map 1><facility map 2>              5     MOVE-CURSOR <x><y>             12     HOME-CURSOR             17     READ-CURSOR             18     CURSOR-POSITION <x><y>             20     TRANSMIT-SCREEN             21     TRANSMIT-UNPROTECTED             27     TRANSMIT-MODIFIED             28     DATA-TRANSMIT <x><y>             29     ERASE-SCREEN             35     ERASE-UNPROTECTED             36     FORMAT-DATA <format map><count>             37     REPEAT <count><character>             39     FIELD-SEPARATOR             40     FUNCTION-KEY <code>             41     ERROR <cmd><error code>             42     START-OUT-OF-CONTEXT-DATA             43     END-OUT-OF-CONTEXT-DATA             44     ENABLE-FUNCTION-KEYS <key-map>             45     SELECTED-FIELD <x><y>Yasuda & Thompson                                              [Page 25]RFC 1043              Data Entry Terminal - DODIIS         February 1988APPENDIX 2 - DET ERROR CODES              1        Facility not previously negotiated.              2        Illegal subcommand code.              3        Cursor Address Out of Bounds.              4        Undefined FUNCTION-KEY value.              5        Can't negotiate acceptable line width.              6        Can't negotiate acceptable page length.              7        Illegal parameter in subcommand.              8        Syntax error in parsing subcommand.              9        Too many parameters in subcommand.             10        Too few parameters in subcommand.             11        Undefined parameter value.             12        Unsupported combination of Format Attributes.             13        Invalid field - overlap detected.Yasuda & Thompson                                              [Page 26]

⌨️ 快捷键说明

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