1

我正在使用 bgapi 库来管理使用 USB 加密狗的蓝牙通信。该库将从我的程序中获取命令,并将通过其自己的线程中的 COM 端口处理所有串行通信。我想回显来自 COM 端口的所有数据,但该库只允许我访问它选择解析的内容。

我可以进入 bgapi 库并更改代码的功能,设置一个变量或函数来返回当前正在读取的数据,但其他人也在处理这个项目,更改库可能会导致更大的问题或使更新无效.

有什么方法可以让我在不干扰库的情况下访问进入 COM 端口的数据,比如嗅探通过 COM 端口的数据而不将其从库的缓冲区中取出?库为自己打开端口并丢弃我想查看的额外数据。

4

1 回答 1

1

我不确定我是否完全理解你的图书馆是如何工作的,所以我不确定这是否适合你,但你还是可以试一试。

您可以做的(在 Windows 上)是使用Termite作为中间人进行端口转发。

由于您可能希望将所有内容保存在一台计算机中,您可以使用com0com创建几个虚拟端口。

要在 Termite 上激活端口转发,您必须转到设置,然后在屏幕左下方进行转发。您将看到一个菜单,您可以在其中选择要转发到的端口。在以下屏幕截图中,我可以从 COM1 转发到 COM2:

在此处输入图像描述

为 COM1 选择正确的设置后,您可以通过单击标有 COM1 57000 bps... 的大按钮接受并连接...您将看到 COM1 上的所有传入转发到 COM2 并显示在控制台上。

于 2019-07-16T07:53:21.413 回答