版本2 邮局协议( 五 )


AUTH--------------------->
------- ^
HELO
----
#NNN
QUIT
V-----
FOLD ---> -------BYE
----^MBOX--------------------->
#NNN <--- ------- ^
^
READ
FOLD----
----=CCC
#NNNQUIT
V-----
READ ---> -------BYE
----^ITEM--------------------->
=CCC <--- -------
^
RETR
ack----
----data
=CCC
V
-------
NEXT
-------
4.通信流程图
----
CALL<------------------------------------------------------------
LSTN^
----
Greet
----------------------------------------------------->
^QUIT
VV
------------
CALLHELONMBREXIT
AUTH------->AUTHAUTH
------------
#NNN Bye
------------------------------------>
^QUIT
VV
---> ------------
FOLD^NMBRREADSIZEEXIT
----MBOX------->MBOXMBOX
#NNN <--- ------------
^=CCC Bye
FOLD <--------------------------->
----^^QUIT
#NNNVV
---> -------------
READ^SIZERETRXFEREXIT
----ITEM------->ITEMITEM
=CCC <--- -------------
^data
=CCCV Bye
--------
SIZEAckXFER
NEXT<-------NEXT
--------
VVV
-------
EXIT-->
DONE
-------
5.用户策略表
STATE
------- ----------------------------------
INPUTCALLNMBRSIZEXFEREXIT
------- ----------------------------------
Greet21116
------- ----------------------------------
#NNN13116
------- ----------------------------------
=CCC11416
------- ----------------------------------
data11156
------- ----------------------------------
Bye11116
------- ----------------------------------
Close11116
------- ----------------------------------
other11116
------- ----------------------------------
Timeout11116
------- ----------------------------------
用户行为
1. 这是一个无用信息.发送"QUIT"命令,进入EXIT状态.
2. (a)假如greeting成功,发送"HELO",进入NMBR状态.
(b)否则,发送"QUIT",进入EXIT状态.
3. 假如用户选定文件夹且NNN>0,发送"READ",并进入SIZE状态..
假如用户选定文件夹且NNN=0,发送"QUIT",并进入EXIT状态.
假如用户重新选定文件夹,发送"FOLD",并返回NMBR状态.
4. 假如用户选定邮件且CCC>0,发送"RETR",并进入XFER状态.
假如用户选定邮件且CCC=0,发送"QUIT",并进入EXIT状态.
假如用户重新选定邮件,发送"READ",并进入SIZE状态.
5. 假如用户想保存邮件,发送"ACKS",并进入SIZE状态.
假如用户想删除邮件,发送"ACKD",并进入SIZE状态.
假如用户想重发邮件,发送"NACK",并进入SIZE状态.
6.关闭连接.
6.服务器策略表
STATE
------- -----------------------------------------
INPUTLSTNAUTHMBOXITEMNEXTDONE
------- -----------------------------------------
Open211111
------- -----------------------------------------
HELO131111
------- -----------------------------------------
FOLD115511
------- -----------------------------------------
READ116611
------- -----------------------------------------
RETR111711
------- -----------------------------------------
ACKS111181
------- -----------------------------------------
ACKD111181
------- -----------------------------------------
NACK111181
------- -----------------------------------------
QUIT144411
------- -----------------------------------------
Close111119
------- -----------------------------------------
other111111
------- -----------------------------------------
Timeout11111
------- -----------------------------------------

推荐阅读