4

我有一个 Linux 应用程序(我可以访问其代码),它必须通过串行端口与 windows one(第三方,无法访问代码)进行通信。Windows 应用程序在 Wine 中运行,所以我想将 Wine 的 com1 设置为某个东西,并让我的软件从那里读写。我想最好的方法是使用伪终端,是这样吗?

有没有办法在 Linux 中从命令行简单地创建一个伪终端对?我已经知道如何使用 API 做到这一点,但是有没有办法从 bash 做到这一点?

也许用 socat 或类似的东西?

4

1 回答 1

2

您也许可以使用这样的东西(未经测试):

socat PTY,link=$HOME/.wine/dosdevices/com1,raw,echo=0 PTY,link=$HOME/tmp/dev/myserial,raw,echo=0

这将创建两个背靠背的 PTY,这有点矫枉过正,但 socat 会在它们之间复制数据。wine 程序将打开链接的一侧作为 COM1,您的程序将打开 $HOME/tmp/dev/myserial 以与 COM1 通信。

于 2013-11-07T23:34:07.293 回答