#client #terminal #automation #wrapper #io #emulation #api-bindings

rs3270

此库抽象化了与 x3270 客户端的交互。只需提供主机的地址和客户端的脚本端口,即可立即以编程方式与 x3270 客户端交互。

1 个不稳定版本

0.1.2 2023年7月4日
0.1.1 2023年7月4日
0.1.0 2023年7月4日

#84 in #emulation

MIT/Apache

51KB
1K SLoC

rs3270

此库抽象化了与 x3270 客户端的交互。只需提供主机的地址和客户端的脚本端口,即可立即以编程方式与 x3270 客户端交互。

功能

  • ClientSpawner 实现提供了创建 Client 的方法。
    • 此软件包的当前版本提供了 x3270 实现。
  • CommandExecutor 实现提供了在连接的客户端上运行命令的方法。
  • 每个 CommandBuilder 实现都利用自定义的 command! 宏来简化并减少重复代码。
  • MainframeProvider 结构体提供了使用一个或多个对 CommandExecutor 的底层调用来实现更复杂操作的功能。
  • StreamCommandExecutor 使用 CommandExecutor 特性,因此您可以通过实现自己的特性和向 MainframeProvider 提供实例来使用自己的终端仿真器。
    • 根据需要通过 command! 宏创建自定义 CommandBuilder 实现

用法

此库中实现了两个抽象级别。

终端配置,客户端和命令执行器

要使用此低级抽象,只需创建 TerminalConfiguration 的一个实例,使用 ClientSpawner 实现创建一个 Client,并创建一个 CommandExecutor。之后,您将能够在与创建的客户端交互的 CommandExecutor 上执行 CommandBuilder 实例。

主机提供者

要使用此高级抽象,只需创建一个如上所述的 CommandExecutor 实例,并将其提供给 MainframeProvidernew 函数。使用此结构体,您将能够调用方便的函数来与附加的 Client 交互。

示例

示例即将推出

灵感

此软件包受到了两个不同语言的两个现有库的启发。

未来工作

  • 无头操作
  • Windows 支持
  • 更高自动化处理层

依赖关系