草庐IT

linux - Socat 伪终端 : Can you make use of data lines (DTR, RTS 等)?

我正在使用socat创建一个虚拟串行端口。socat-d-dpty,echo=0,rawpty,echo=0,raw到目前为止,这按预期工作。使用echo/cat我可以发送/接收文本等。但是像DTR或RTS这样的信号线呢?我将如何使用pty获取/设置这些线路的状态?这可能吗?我在任何地方都找不到关于它的任何提及。 最佳答案 socat是一个管道处理程序,基本上可以让您接入Tx和Rx“线路”,而无需关心数据准备好/接收时的信号。RTS/CTS/DSR/DTR是串行连接器中的实际引脚,用于控制Tx/Rx线上发生的事情。在我的头脑中,我没

linux - Socat 伪终端 : Can you make use of data lines (DTR, RTS 等)?

我正在使用socat创建一个虚拟串行端口。socat-d-dpty,echo=0,rawpty,echo=0,raw到目前为止,这按预期工作。使用echo/cat我可以发送/接收文本等。但是像DTR或RTS这样的信号线呢?我将如何使用pty获取/设置这些线路的状态?这可能吗?我在任何地方都找不到关于它的任何提及。 最佳答案 socat是一个管道处理程序,基本上可以让您接入Tx和Rx“线路”,而无需关心数据准备好/接收时的信号。RTS/CTS/DSR/DTR是串行连接器中的实际引脚,用于控制Tx/Rx线上发生的事情。在我的头脑中,我没

linux - socat 两个串口在一起

我正在编写JUnit测试来测试我的应用程序。该应用程序是用Java编写的,并使用purejavacomm库。为了测试串行解析器,我想设置一个虚拟串行端口,以便测试可以与解析器通信。除了简单解析外,它还会在串行端口可用时动态连接到串行端口,所以我不想使用,比如PipedInputStream。此库仅查找以ttyS、ttyUSB或ttyACM开头的设备文件。因此,我无法执行常规操作(这会在/dev/pts/x中生成串行端口):socat-d-dpty,raw,echo=0pty,raw,echo=0我试过:socat/dev/ttyS20/dev/ttyS21但它不起作用。它不会退出,也不

linux - socat 两个串口在一起

我正在编写JUnit测试来测试我的应用程序。该应用程序是用Java编写的,并使用purejavacomm库。为了测试串行解析器,我想设置一个虚拟串行端口,以便测试可以与解析器通信。除了简单解析外,它还会在串行端口可用时动态连接到串行端口,所以我不想使用,比如PipedInputStream。此库仅查找以ttyS、ttyUSB或ttyACM开头的设备文件。因此,我无法执行常规操作(这会在/dev/pts/x中生成串行端口):socat-d-dpty,raw,echo=0pty,raw,echo=0我试过:socat/dev/ttyS20/dev/ttyS21但它不起作用。它不会退出,也不

linux - 使用socat连接socket,发送命令,读取单行

我有一个可以通过UNIX套接字(实际上是abstractsocket,我认为它是特定于Linux的)进行通信的进程。我正在编写一个shell脚本,它需要向这个进程发送命令。为此,我决定尝试使用SOCAT。我正在尝试弄清楚如何(1)连接到抽象套接字,(2)向它发送单个命令(字符串),(3)读取响应并将响应打印到标准输出。到目前为止,我可以通过简单地说:socatABSTRACT-CONNECT:mysocketSTDIN这会将STDIN连接到套接字,因此如果我知道手动键入命令,套接字将读取字符串,然后将结果响应输出到控制台。除非我在脚本中运行socat,否则我需要自动将字符串发送到STD

linux - 使用socat连接socket,发送命令,读取单行

我有一个可以通过UNIX套接字(实际上是abstractsocket,我认为它是特定于Linux的)进行通信的进程。我正在编写一个shell脚本,它需要向这个进程发送命令。为此,我决定尝试使用SOCAT。我正在尝试弄清楚如何(1)连接到抽象套接字,(2)向它发送单个命令(字符串),(3)读取响应并将响应打印到标准输出。到目前为止,我可以通过简单地说:socatABSTRACT-CONNECT:mysocketSTDIN这会将STDIN连接到套接字,因此如果我知道手动键入命令,套接字将读取字符串,然后将结果响应输出到控制台。除非我在脚本中运行socat,否则我需要自动将字符串发送到STD

linux - socat:通过 TTY 隧道 IP

是否可以使用socat实用程序在类似ttyS0的串行(调制解调器)设备上获得双向IP隧道?我尝试使用TUN选项,但仍然无法得到结果。欢迎提出任何建议:)更新:PC1:socat/dev/ttyUSB0,raw,echo=0,b57600,clocalTUN:192.168.1.1/24,upPC2:socat/dev/ttyUSB0,raw,echo=0,b57600,clocalTUN:192.168.1.2/24,up在那之后,我看到tun0接口(interface)在两端都有正确的地址,但我无法从另一个接口(interface)ping通。取而代之的是,当我使用ping-c119

linux - socat:通过 TTY 隧道 IP

是否可以使用socat实用程序在类似ttyS0的串行(调制解调器)设备上获得双向IP隧道?我尝试使用TUN选项,但仍然无法得到结果。欢迎提出任何建议:)更新:PC1:socat/dev/ttyUSB0,raw,echo=0,b57600,clocalTUN:192.168.1.1/24,upPC2:socat/dev/ttyUSB0,raw,echo=0,b57600,clocalTUN:192.168.1.2/24,up在那之后,我看到tun0接口(interface)在两端都有正确的地址,但我无法从另一个接口(interface)ping通。取而代之的是,当我使用ping-c119

linux - 连接关闭后 Socat 终止

此命令(串行端口重定向器)接受TCP:11313上的单个连接:socatPTY,link=/dev/ttyV1,echo=0,raw,unlink-close=0TCP-LISTEN:11313,forever,reuseaddr但是当连接丢失时,上面的socat进程被杀死,客户端无法连接。我可以通过在上述命令末尾添加fork选项来解决这个问题。但随后多个客户端将能够连接。但我只想接受一个连接。有什么想法可以实现吗? 最佳答案 您可以使用max-children选项限制child的数量:LISTENoptiongroup,optio

linux - 连接关闭后 Socat 终止

此命令(串行端口重定向器)接受TCP:11313上的单个连接:socatPTY,link=/dev/ttyV1,echo=0,raw,unlink-close=0TCP-LISTEN:11313,forever,reuseaddr但是当连接丢失时,上面的socat进程被杀死,客户端无法连接。我可以通过在上述命令末尾添加fork选项来解决这个问题。但随后多个客户端将能够连接。但我只想接受一个连接。有什么想法可以实现吗? 最佳答案 您可以使用max-children选项限制child的数量:LISTENoptiongroup,optio