socat -v 等待收到 1024 个字节,我需要无缓冲的输出

问题描述 投票:0回答:1

我正在寻找一个命令来监视 tty 端口,以十六进制转储未缓冲的数据。数据不是面向行的。

我尝试过:

socat -b 1 -v -x /dev/ttymxc2,cfmakeraw - | cat >/dev/null

我希望立即显示收到的每个字节:

2024/01/06 07:14:46.000313646  length=1 from=2048 to=2048 ff                                               . --

相反,我必须等待 1024 个字节才能看到串行端口的任何输出。 所以选择

-b 1

只是一个显示选项,并不影响socat对数据的缓冲。有替代方案吗?

buffer tty socat
1个回答
0
投票

Socat 会立即传输数据,甚至是单个字节,甚至无需使用 -b 减小传输缓冲区大小。您可以使用选项 -d -d -d -d 观看此内容,它将显示 select(2) 调用及其返回。

我认为你的tty监视器没问题,它说你应该检查tty另一端的数据源!

© www.soinside.com 2019 - 2024. All rights reserved.