我使用 jpnevulator 来嗅探读取串行端口的应用程序:
jpnevulator --tty /dev/ttyS0 --read
假设以下字节被发送到串行端口:ABCD E。有时 jpnevulator 只打印字节:ACE,而应用程序获取字节 B D。
jpnevulator 应该打印字节:ABCDE 并且应用程序也应该得到所有字节:ABCD E。出了什么问题?我应该使用一些选项运行 jpnevulator 吗?
我使用 jpnevulator 来嗅探读取串行端口的应用程序:
jpnevulator --tty /dev/ttyS0 --read
假设以下字节被发送到串行端口:ABCD E。有时 jpnevulator 只打印字节:ACE,而应用程序获取字节 B D。
jpnevulator 应该打印字节:ABCDE 并且应用程序也应该得到所有字节:ABCD E。出了什么问题?我应该使用一些选项运行 jpnevulator 吗?
不熟悉
jpnevulator
,但一般来说:如果您有两个应用程序从一个 tty 读取,那么只有一个应用程序会获取数据。如果要复制数据,则必须创建第二个(或第三个)tty,并让应用程序从中读取。
一种方法是使用类似ttybus的东西。然后,您可以附加
jpnevulator
到一个新的 tty,并将您的应用程序附加到另一个。另一种方法是
socat
与-x
or一起使用-v
,例如然后将您的应用程序指向
/tmp/ptya
,同时socat
将十六进制的流量转储到stderr
.