共用方式為


確認處理 (CPI-C)

確認處理的事件順序如下:

  1. 建立同步處理層級。

  2. 傳送確認要求。

  3. 接收資料和確認要求。

  4. 回應確認要求。

  5. 解除配置交談。

    使用確認處理,交易程式 (TP) 傳送確認要求與資料。 合作夥伴 TP 會確認收到資料,或指出發生錯誤。 每次兩個 TP 交換確認要求和回應時,都會進行同步處理。

注意

雖然本節中的範例未顯示此問題,但不論 TP 是叫用 TP 還是可叫用 TP,任何 TP 都可以傳送或接收資料。

下表說明確認處理所涉及的步驟。

步驟 叫用 TP 所發出 由可叫用 TP 發行
1 Initialize_Conversation
2 Set_Sync_Level (sync_level=CM_CONFIRM)
3 分配
4 Send_Data
5 確認
6 Accept_Conversation
7 接收 (data_received= CM_COMPLETE_DATA_RECEIVED) (status_received= CM_CONFIRM_RECEIVED)
8 已確認
9 (return_code=CM_OK)
10 Send_Data
11 解除配置
12 接收
13 (status_received= CM_CONFIRM_DEALLOC_RECEIVED)
14 已確認
15 (return_code=CM_OK)

建立同步處理層級

Set_Sync_Level呼叫可讓您覆寫交談的預設同步處理層級。 同步處理層級是交談的其中一個特性。 有兩個可能的同步處理層級:

  • CM_CONFIRM,TP 可以要求確認接收資料並回應這類要求。

  • CM_NONE,預設不會發生確認處理。

    Initialize_Conversation呼叫會設定交談的預設特性。 有數個以 Set_ 開頭的呼叫。 這些呼叫可讓您覆寫預設對話特性。

傳送確認要求

發出 Confirm 呼叫有兩個效果:

  • 它會排清本機 LU 的傳送緩衝區,並將緩衝區中包含的任何資料傳送至夥伴 TP。

  • 它會傳送確認要求,讓合作夥伴 TP 透過接收呼叫的 status_received 參數 接收

    發出 Confirm之後,本機 TP 會等候合作夥伴 TP 的確認。

接收確認要求

接收呼叫的status_received參數表示本機 TP 所需的任何未來動作。

在此範例中,第一個接收具有 CM_CONFIRM_RECEIVED status_received ,表示合作夥伴 TP 可以繼續之前需要確認。

回應確認要求

合作夥伴 TP 發出 已確認 的呼叫,以確認收到資料。 這會釋放本機 TP 以繼續處理。

解除配置交談

由於交談的同步處理層級設定為 CM_CONFIRM, 因此解除配置 會傳送確認要求,並將資料從緩衝區排清。

針對第二個 接收 呼叫, status_received CM_CONFIRM_DEALLOC_RECEIVED,表示合作夥伴 TP 需要確認,由 確認 的呼叫產生,才能解除配置交談。