對話狀態(特定 TP 所看)決定了 TP 在特定時間可發出哪些 APPC 動詞。 例如,如果對話未在該傳送點的 SEND 狀態,TP 就無法發出 MC_SEND_DATA 。
對話的狀態取決於所使用的TP。 本地TP可以將對話視為SEND狀態,而合作夥伴TP則將對話視為RECEIVE狀態。 同一張 TP 可以同時出現在多個對話中,每段對話都處於不同的狀態。
可能的對話狀態在此做了總結。
確認
TP 已收到資料接收確認請求;它必須正面回應或向合作夥伴 TP 傳送錯誤資訊。
CONFIRM_DEALLOCATE
TP已收到確認請求;它必須正面回應或傳送錯誤資訊。 如果傳送者正面回應,對話會自動被解除分配。
CONFIRM_SEND
TP已收到確認請求;它必須正面回應或傳送錯誤資訊。 回應後,TP 即可開始傳送資料。
PENDING_POST
TP 是非同步接收資料。 TP 可以執行與此對話無關的其他處理。
接
TP 可以從合作夥伴 TP 接收應用程式資料和狀態資訊。 當對話處於接收狀態時,TP 也可以傳送錯誤資訊並請求傳送資料的權限。
重置
這段對話既沒有開始,也沒有結束。
寄
TP 可以將資料傳送給合作夥伴 TP 並請求確認。 當對話處於 SEND 狀態時,TP 也可以開始接收資料,這會將狀態改為 RECEIVE。
SEND_PENDING
TP 發出接收動詞,該動詞回傳的 what_rcvd 參數同時表示已接收資料及 SEND 狀態指示。 這只影響SEND_ERROR和MC_SEND_ERROR的err_dir參數使用。 否則,狀態與 SEND 狀態相同。
本節內容包括: