同步算法

基于终端的应用程序的扩展 有三种同步算法用以确定终端的状态。终端的状态取决于表示空间的装入。

录制脚本的同时,终端的状态也会被录制。回放脚本时,Functional Tester 必须等待终端的状态与录制时的状态相匹配。状态必须相同,以避免在主机尚未准备好接收输入的情况下就向主机发送命令。终端的状态由操作员信息区域 (OIA) 的状态(锁定或解锁)决定,而 OIA 状态取决于表示空间的装入。表示空间的装入不是一个即时的过程,不同连接类型装入表示空间的方式有所不同。

以下算法判定了终端的状态:

同步算法所使用的缺省等待期的值如下所示:

算法 同步设置
缺省同步与 5250 同步
  • 超时(毫秒):1200
  • OIA 状态超时(毫秒):300000
  • 轮询时间间隔(毫秒):100
TN3270E 同步 最短等待时间(毫秒):250

可以使用“首选项”窗口更改任意上述值。

缺省同步算法

按下辅助操作请求标识 (AID) 键时,启动缺省同步算法。辅助操作请求标识 (AID) 键可以触发表示空间更新。终端的原始状态为 UNINITIALIZED。算法将等待一段时间以获取对表示空间的更新。可以更改“首选项”窗口中超时字段内的等待时间。缺省等待时间为 1200 毫秒。

如果“超时”设置为 1200 毫秒并且在最近的 600 毫秒内发生了更新,那么算法将再等待 600 毫秒以获取更多更新。如果在附加等待期内,在最近的 300 毫秒内发生了另外一个更新,那么算法将再等待 600 毫秒以获取更多更新。这种情况将一直继续,除非在最近一次的附加时间段的一半时间内再也没有接收到更新。

此种情况下,根据 OIA 的状态,终端的状态将是 LOADED(键盘锁定)或 READY(键盘解锁)。

3270 增强同步算法

终端的原始状态为 UNINITIALIZED。终端状态将针对最短等待时间进行初始化。可以更改“首选项”窗口中最短等待时间字段内的等待时间。缺省值为 250 毫秒。

服务器会通知算法是否已经发出表示空间更新。同步算法将根据“首选项”窗口中最短等待时间字段内指定的时长实施等待,然后同步算法会查询 OIA 的状态以确定是否报告 READY。在 OIA 状态未变为 ready 的情况下,如果同步算法已根据“首选项”窗口中超时字段内的时长实施了等待,那么算法将报告状态 LOADED。在其他时间内,算法将报告状态 UNINITIALIZED。此算法要求主机上安装了正确的 TN3270 服务器的服务级别。

注: Communications Server for z/OS® 1.2 及更高版本引入了“争用解决”的新功能。如果没有 Communications Server for z/OS 的最新维护级别,在尝试连接到 z/OS 主机时,可能会遇到 COMM655 错误或死循环的情况。此种情况下,请调整各种连接配置,以确保它们不会使用争用解决。

要更改争用解决设置:在 基于终端的应用程序的扩展 窗口中,单击高级打开“高级设置”窗口。滚动至配置可选高级设置列表内的 negotiateCResolution 属性。将此属性的设置从 true 更改为 false

5250 同步算法

针对 5250 同步算法会话,表示空间更新事件仅发生一次,而针对 3270 增强同步算法,此种更新事件不会仅在组中发生一次。5250 算法的运算方式与缺省的同步算法类似,但有一点例外:发生更新时,根据 OIA 的状态,5250 算法的状态将立即更改为 LOADEDREADY

回放脚本时,Functional Tester 等待主机终端显示适当的状态,然后继续从录制脚本运行命令。

可以更改“首选项”窗口的时间设置。

注: 同步算法可能不会在指定时间值的整个时长内都工作,特别是在处理网络延迟较长的主机时。如果同步未处理应用程序的某一部分,可以将手动休眠定时器插入脚本,以调整计时因素或使用手动同步。有关更多信息,请参阅相关主题。

反馈