PDP-10 文件传输
假设我有一条链路连接到另一台 PDP-10,并且那里有一个正在监听的用户进程。为了让那个进程给我发送一个文件,可能被传送的标志序列可以表示如下:其中由我执行的 UUO 在左边距,标志缩进排列,与它们相对的注释说明所传送数据块的性质:
PUT F
CONTROL Data with OPEN parameters, requesting OPEN
LABEL File identification data for LOOKUP
EOM Forces message to be transmitted
GETFD
STATUS Status returned by OPEN
SIZE Byte size to be used
LABEL File retrieval information
PUTF
CONTROL Data requesting INPUT from file
EOM Forces request to be transmitted
GETFD
STATUS Status bits returned by INPUT
GET Logical record (one file buffer load)
(loop back to second PUTF, above, for other records)
Finally, the status information returned by the second GETF indicates
end of file, and I wind up with the sequence:
PUTF
CONTROL Data requesting a CLOSE
EOM Forces transmission
GETFD
STATUS Status bits returned by CLOSE
In the case I am getting a file, the main loop looks like:
PUTF
CONTROL Data requesting OUTPUT
PUT Logical record (one file buffer load)
PUTF
EOM Forces transmission
GETFD
STATUS Status bits returned by OUTPUT
值得注意的既有对记录传送 UUO 与标志传送 UUO 两者的使用,也有在链路上于输入与输出之间切换时用 EOM 标志来强制发送一个消息的做法。上面的 CONTROL 与 LABEL 数据的传送显然需要 PUT 与 GET 这两个 UUO;为了清楚起见,我把它们略去了。
对于这一应用,CONTROL 与 STATUS 标志传送的握手性质是强制性的。虽然协议会允许在没有握手的情况下传送一个完整的文件,但那将是一个全有或全无的命题——只要出一次错,就得把整件事重做一遍,前提是接收进程最终没有彻底乱成一团。