ubuntu linux 上的虚拟 socat 串口和 c#

gss*_*der 6 c# serial-port virtual-serial-port socat

出于测试目的,我正在尝试编写一个简单的程序,该程序连接到使用 socat 创建的虚拟串行端口。

我使用以下命令创建串行端口:

socat -d -d PTY,b9600 PTY,link=ttyVS1,b9600
Run Code Online (Sandbox Code Playgroud)

得到这个输出:

2011/11/08 18:26:31 socat[32708] N PTY is /dev/pts/1
2011/11/08 18:26:31 socat[32708] N PTY is /dev/pts/2
2011/11/08 18:26:31 socat[32708] N starting data transfer loop with FDs [3,3] and [5,5]
Run Code Online (Sandbox Code Playgroud)

当我尝试以这种方式连接时:

System.IO.Ports.SerialPort _port;
_port = new SerialPort("/dev/pts/1", 9600);
_port.Open();
Run Code Online (Sandbox Code Playgroud)

我得到一个“文件名未知” System.IO.IOException

我是否缺少设置 DataBits、StopBits 或其他参数?如何发现 socat 设置的属性?或者这段代码有什么问题?

Ign*_*cia 1

这里的问题肯定是设备的名称。您可以在 /dev 中检查 /dev/pts/1 是否存在吗?也许它还有另一个名称,如 /dev/pts1?