确认和拒绝出站数据

本地节点通过设置如下的 ACKRQD 字段将数据链从主机发送到应用程序:

  • ACKRQD 设置

    如果收到指定了明确响应的相应 SNA 请求,而 BIND 参数指定主请求使用的是明确或明确/异常链响应模式。

  1. ACKRQD 未设置,响应模式

    如果收到指定了异常响应的相应 SNA 请求,而 BIND 参数指定主请求使用的是异常或明确/异常链响应模式。

  2. ACKRQD 未设置,无响应模式

    如果收到指定了无响应的相应 SNA 请求,而 BIND 参数指定主请求使用的是无响应链响应模式。

    在第 1 种情况下,应用程序应始终发送确认,如下所示:

  • 如果应用程序接受数据,则应返回 Status-Acknowledge(Ack) 消息。

  • 如果应用程序想要拒绝数据,它应返回带有适当 SNA 感知代码的“Status-Acknowledge(Nack-1)”消息。

    在第 2 种情况下,应用程序在以下情况下应仅发送确认:

  • 如果应用程序想要拒绝数据,它应返回带有适当 SNA 感知代码的“Status-Acknowledge(Nack-1)”消息。

  • 应用程序可以向请求异常 (RQE) 消息发送礼节性确认来清除本地节点中的相关数据。 (有关详细信息,请参阅出站数据。)

    在第 3 种情况下,应用程序不应发送确认。 然而,应用程序发送的“Status-Acknowledge(Ack)”或“Status-Acknowledge(Nack-1)”不起作用。 它将被丢弃。

    每当应用程序向收到的 Data 消息发送“Status-Acknowledge(Ack)”或“Status-Acknowledge(Nack-1)”,它都会隐式确认收到此消息以及之前收到的所有数据消息。

    在第 2 种情况下,主机可以发出 CHASE 请求。 本地节点将设置了 ACKRQD 的“Status-Control(CHASE) 请求”发送到应用程序。 当应用程序能够确认收到所有未完成的数据时,它应发出“Status-Control(CHASE) Acknowledge”消息,本地节点会为主机将该消息转换为对“CHASE”的积极响应。

    在第 1 和第 2 种情况下,如果本地节点在收到的请求中检测到错误,它会将请求转换为特殊 Data 消息,该消息将传递给应用程序。 无论 BIND 参数中为辅助节点指定的链响应模式如何,此 Data 消息均具有以下特征:

  • ACKRQD 已设置。 应用程序必须使用“Status-Acknowledge(Ack)”消息确认收到。

  • 感知数据指示器 (SDI) 应用程序标记设置为指示这是一条特殊的数据消息,用于通知本地节点检测到的应用程序错误。

  • 结束链指示器 (ECI) 应用程序标记设置为指示接收的链现已终止。

  • 缓冲区元素的前四个字节保存由导致终止的本地节点检测到的 SNA 感知代码。

    此机制可使:

  • 应用程序拒绝以前收到的任何“数据”消息。

  • 本地节点通知应用程序在收到的请求中检测到的任何错误。

  • 本地节点按正确顺序发送负响应。

    以下三个图说明了本地节点和应用程序之间的出站数据确认和拒绝协议,以及这些协议与基础 SNA 协议之间的关系。

    在第一个图中,主机将发送一个明确的响应链,以使应用程序确认收到 RQD 请求和之前发送的所有 RQE 链。

    显示主机如何发送明确响应链的图像。
    主机发送明确的响应链

    在下图中,来自应用程序的“Status-Acknowledge(Nack-1)”拒绝最后一条数据链并确认收到之前发送的所有数据链。

    显示状态确认 (Nack-1) 如何拒绝最后一个链并确认接收的图像。
    “Status-Acknowledge(Nack-1)”拒绝最后一条数据链并确认收到

    在下图中,主机发送“CHASE”请求来获取应用程序以确认收到“CHASE”和之前发送的所有数据链。

    显示主机如何发送 CHASE 请求的图像。
    主机发送 CHASE 请求

另请参阅

打开 PLU 连接
PLU 会话
出站链接
入站链接
段传递
Brackets
方向
速度和区块
确认和拒绝数据]
关闭和静止
恢复
应用程序启动的终止
LUSTAT]
响应时间监视器数据