1、 1.命令名和代碼timing-mark62.命令意義*iacdoti...
2、下面是一個例子,可以想象一個全雙工系統伺服器它允許使用者在處理使用者輸入之前預先...
3、5.具體描述假設進程a希望和b同步,a發出dotiming-mark,如...
本文內容:
1.命令名和代碼
timing-mark6
2.命令意義
*iacdotiming-mark
命令發出者要求接收者在資料流的適當位置返回一個willtiming-mark,具體位置在文章的後面加以說明。
*iacwilltiming-mark
命令發出者確認接收者樂意進行同步,發出了dotiming-marking。
*iacwonttiming-mark
命令發出者拒絕在資料流中加上確定同步的命令。
*iacdonttiming-mark
命令發出者通過命令接收者原來收到的willtiming-mark被忽略了。
3.預設值
wonttiming-mark,donttiming-mark,也就是說預設情況下不對telnet兩端的活動進行同步。
4.選項產生原因
有時使用者需要知道telnet另一端已經將傳輸過去的資料處理完畢,這個選項此時就比較有用了,即使被拒絕進行同步,返回的拒絕代碼也表示原來發出的資料都接收到了。
下面是一個例子,可以想象一個全雙工系統伺服器它允許使用者在處理使用者輸入之前預先輸入一些命令。假設雙方同意suppressgoahead選項,而且伺服器同意提供回顯。現在伺服器拋棄了一條不可知的命令,這條命令可能是使用者的輸入錯誤,伺服器可能將使用者所有預先輸入的命令拋棄,並向使用者發出一條錯誤命令,並且在使用者看到錯誤資訊後開始處理使用者的新命令。如果使用者是本地的,系統可以拋棄緩衝的輸入,但是使用者輸入可能在使用者主機或其它地方緩衝。因此伺服器必鬚髮出dotiming-mark,並希望從在資料流的合適地方得到willtiming-mark。這個合適的地方就是使用者看到錯誤資訊後輸入的第一個字元。
在上例中,如果使用者已經意識到自己輸入錯誤,而希望在伺服器做出反應前就糾正這個錯誤並回到預先輸入狀態。它可以讓自己的系統發出willtiming-mark給伺服器,然後再次開始預先輸入。在這種情況下,合適的位置是由使用者自己定義的。在上面二例中,系統負責傳輸dotiming-mark來拋棄資料,而willtiming-mark則是用來對什麼字元應該拋棄提供資訊。
5.具體描述
假設進程a希望和b同步,a發出dotiming-mark,如果b拒絕則發出wonttiming-mark,如同意則將timingmark放出輸出緩衝buf2中。下來不將資料轉送給終端,而是將標記輸入到接收緩衝buf1中,發給a。當標記進入buf1時,b發出willtiming-mark給a。
當a接收到willtiming-mark時,它知道在timingmarkf發出前發出的所有資料b都收到了。下面是此選項三個典型用途:
a.測量在進程和終端之間或進程和進程之間的響應延時。
b.同步互動,過程就如上面4中所述那樣。當a收到非法命令時,它可以:
i.發出<carriagereturn>,<linefeed>和<questionmark>.
ii.發出dotiming-mark
iii.發出錯誤資訊
iv.開始讀出輸入並拋棄直到willtiming-mark
v.重要開始解釋輸入
這就達到了在使用者實際看到questionmark之前,拋棄所有在非法命令後的資料的目的。
c.b的終端使用者希望拋棄從a來的一些不想要的輸出,
i.b發出dotiming-mark,後面是一些新命令
ii.b開始讀出a的輸出,拋棄接收到的資料,直到willtiming-mark.
iii.b重新轉寄a的輸出到終端
這樣就拋棄了所有來自a的輸出,直到a看到timingmark,但不是對接下來命令進行響應的輸出。