RDRemoteDLL

原生库远程执行

在另一台计算机上
运行您的 DLL。

保留原有应用程序,让原生库在设备所在的计算机上运行。RemoteDLL 通过明确的 API 契约连接 Windows 和 Linux 系统。

面向 Windows 和 Linux 的原生库远程执行。

银行、工业与医疗领域的集成经验
RemoteDLL调用路径
01应用程序计算机
LabClient.exe
// 相同的原生接口
LD_Open();
LD_Write(handle, data, 6);
LD_Read(handle, buffer, 64);
适配器 A LabDevice.dll原生代理
TCP / TLS 1.2+
↓
02设备计算机
适配器 B ABI 适配器
→
▥LabDevice
Windows / Linux明确的 API 契约C ABI

系统集成经验

银行、工业与医疗

银行外设

具有存折打印机、现金循环机、自动柜员机以及网络打印机和扫描仪的集成经验。

工业机械

具有依赖安全加密狗和制造商原生库的机械设备集成经验。

医疗系统

具有 Kardex 和 Pyxis 系统集成经验。

架构

从应用程序到设备

使用针对接口构建的适配器替换应用程序使用的库。调用通过网络传输,原始库在 Windows 或 Linux 设备主机上执行。

01

接收调用

应用程序通过预期的原生接口加载适配器 A。本地代理进程管理与远程主机的连接。

应用程序 → 适配器 A → 代理进程
02

传输参数

明确的契约将缓冲区和句柄转换为消息。TLS 保护连接,有界消息和超时限制控制每次交换。

调用 ID · TLS · 响应
03

在设备端执行

主机适配器调用原始库,传回输出缓冲区,并将结果返回给等待中的应用程序。

主机 → 适配器 B → 原生库

连接方式

直接连接或 AWS 中继

通过 TLS 直接连接 TCP,或使用端口 443 上的 HTTPS/WebSocket 接入 AWS Docker 中继。两台计算机均主动连接中继。

01应用程序适配器 A + Broker
02设备主机适配器 B + LabDevice

LabDevice 演示

使用 LabDevice 测试

LabDevice 模拟外设。同一个可执行文件可以使用原始 DLL,也可以使用将调用转发到远程主机的替代 DLL。

  • 打开和关闭会话所属的句柄
  • 读写二进制缓冲区
  • 检查状态与缓冲区容量
  • 接收同步完成回调
下载原型↓

Windows 评估程序。配置与原型限制请参阅 README。

REMOTEDLL LABDEVICE会话示例
# 相同客户端,仅替换 DLL。
> LabClient.exe

01  LD_Open()                  → handle
02  LD_Write(handle, data, 6)  → 6
03  LD_Read(handle, buffer, 64)→ 6
04  LD_Close(handle)           → 0

00 01 7F 80 FF 2A
二进制数据 · 返回相同字节

平台与集成

Windows 和 Linux

RemoteDLL 正在面向 Windows 和 Linux 开发。每个设备主机使用其操作系统的原生库:Windows 上的 DLL,Linux 上的共享库(.so)。

为您的接口构建适配器

适配器保留应用程序预期的接口,为每个库明确描述数据类型、缓冲区、句柄和回调的传输契约。

演示内容

LabDevice 展示了 Windows x86/x64 客户端与 Windows 或 Linux 设备主机,以及 Linux Docker 中继。当前下载包含 Windows 评估程序。

远程 DLL 集成:常见问题

可以在另一台计算机上运行 DLL 吗?

兼容的适配器可以将调用转发给加载原始库的主机。参数、缓冲区和句柄需要为该库明确规定传输契约。

Windows 和 Linux 可以通信吗?

传输协议与操作系统无关。Windows 主机加载 Windows DLL;Linux 主机需要兼容的原生共享库(.so)。

两台计算机都需要公网 IP 吗?

不需要。通过 AWS 中继,两端主动建立端口 443 的 HTTPS/WebSocket 连接。调用仍由端点之间的内部 TLS 会话保护。

讨论您的 DLL 集成

请提供库接口、目标操作系统和设备信息。我们将分析构建适配器所需的工作。

联系我们 ↗