关闭 PLU 连接

应用程序或本地节点可以终止主逻辑单元 (PLU) 连接。 关闭条件如下:

  • 如果本地节点收到来自主机 PLU 的 UNBIND 请求,则会关闭 PLU 连接,这将终止 PLU 会话。 如果 UNBIND 类型为 BIND forthcoming (0x02),则本地节点会在 Close(PLU) 请求中设置 BIND-forthcoming 指示器,以便应用程序可以保留任何所需的资源。

  • 如果本地节点收到来自系统服务控制点 (SSCP) 的停用逻辑单元 (DACTLU) 或停用物理单元 (DACTPU) 请求,则会关闭 PLU 连接。

  • 如果从数据链接控制收到中断通知,则本地节点会关闭 PLU 连接。

  • 如果从应用程序检测到消息中出现严重错误,则本地节点会关闭 PLU 连接,使应用程序处于严重失败状态。 在这种情况下,本地节点会向主机发送 TERM-SELF 请求以引发 UNBIND。

  • 应用程序应关闭 PLU 连接,以满足逻辑关闭条件。 例如,其资源暂时不可用时,或用户结束使用会话时。

    当本地节点发出 Close(PLU) 请求时,应用程序可以从“关闭”控件字段中确定原因。 以下连接可能有关联的状态消息:PLU 连接(Status-Acknowledge(Nack-2))或 SSCP 连接(如果 LU 停用,则显示 Status-Session 消息)。

    无论本地节点还是应用程序关闭连接,消息都是相同的。 Close 序列的发起方会将 Close(PLU) 请求发送给其合作伙伴,后者通过 Close(PLU) 响应进行响应。 Close(PLU) 请求是无条件的。 Close(PLU) 响应始终报告连接已成功关闭。

    提供 Close(PLU) 响应,以便 Close 序列的发起方可以确定何时传递了未完成的数据和状态消息。 为了避免可能出现的争用情况,应用程序应在发出 Close(PLU) 请求后放弃它在 PLU 连接上收到的所有消息,包括来自本地节点的任何 Close(PLU) 请求消息,直到收到 Close(PLU) 响应。

    请注意,如果应用程序在 PLU 会话处于活动状态时发送 Close(SSCP) 请求,则本地节点将关闭 PLU 连接(就像已发送 Close(PLU) 请求那样)和 SSCP 连接。

    下图显示了应用程序启动的 Close 消息序列。 本地节点会向主机发送 TERM-SELF 请求以引发 UNBIND。

    如果主机在收到 TERM-SELF 时自动生成 UNBIND,则应用程序可以将 Close(PLU) 视为等效于终止 PLU-SLU 会话。

    显示应用程序启动的 Close 的消息序列的图像。
    应用程序启动的 Close 消息序列

    下图显示了从主机接收 UNBIND 请求后本地节点启动的 Close 消息流。

    显示本地节点在收到 UNBIND 请求后启动的 Close 的消息流的图像。
    接收 UNBIND 请求后本地节点启动的 Close 消息流

    当应用程序使用 FMI 的逻辑单元应用程序 (LUA) 变体时,发出 Close(PLU) 请求会导致节点立即取消绑定 PLU 会话,具体做法是向 PLU 发送 UNBIND 请求。 在收到 UNBIND 响应时,Close(PLU) 响应将返回给应用程序,如下图所示。

    显示关闭 (PLU) 响应的消息流的图像。
    Close(PLU) 响应的消息流

另请参阅

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