我想知道是否有人有使用 3270 协议检索数据的经验。到目前为止我的理解是:

联系

我需要使用 telnet 连接到 SNA 服务器,发出命令,然后将返回一些数据。我不确定这个连接是如何建立的,因为我读到标准的 telnet 连接不起作用。我还了解到 IBM 有一个库可以提供帮助,但没有找到更多相关信息。

解析

我假设返回的数据将是 1920 个字符的字符串,因为 3278 屏幕是 80x24 个字符。我只需要将这些字符解析到适当的字段中。我对 3270 协议了解得越多,这种情况就越少 - 我在试用版提供的文档中读到 Jagacy 3270 Java 库 该属性在协议中用属性前的字符“A”标记,我的理解是有更多的字符表示其他因素,例如字段是否可编辑。

我确信我的想法过于简单化了。以包含项目列表的屏幕为例 - 在 24 个可见行之一上按特殊键可深入了解有关该行的更详细信息。

另外还建议我可以发出打印命令。这有一些积极的影响 - 如果返回的字符串的格式不是 1920,因为它包含这些字符,例如表示用户如何与终端交互的“A”,则打印将消除这些字符。它还将不再需要翻阅大量数据。另一方面是我不知道如何将打印命令中的数据检索回 Java。

所以..

我目前无法访问 SNA 服务器,但有一些屏幕截图,显示一旦我获得连接,终端将是什么样子,因此将开始解析工作。有了这么多的假设,但对数据的样子却没有太多的想法,我感到真的很困惑。有谁对这些系统有任何了解,可以帮助我重回正轨吗?

有帮助吗?

解决方案

你已经选择了一个问题的解决者。3270确实是一个非常复杂的协议。我不会费心去尝试实现它,这是一个愚蠢的差事,而且我是从痛苦的个人经历中说出来的。尝试查找 TN3270 (Telnet 32​​70) 客户端 API。

其他提示

这可能不是专门回答您的问题,但是...

如果您使用的是Z/OS的理性开发人员,则Java代码应该能够使用集成的帽子产品来处理3270流。它可能不适合您的项目,但是我想如果您要做的只是简单的屏幕刮擦,这会使事情变得非常容易。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top