1

我正在开发一些通过 USB 连接到主机 PC 的网关产品,里面有嵌入式 linux。我的任务被读取以从设备文件中读取日志 UDP 流并将其转发到远程主机并将其保存到我的文件系统(ramfs)中的文件我使用以下命令执行此操作:

socat -b1450 -u /dev/ueservice0 - | tee -a /tmp/ModemFW.log | socat -b1450 -u - UDP4-DATAGRAM:${IPADDR}:4566

问题是,当在同一个 USB 接口上运行大量数据流量 (FTP) 流时,大约 尽管 ModemFW.log 文件包含所有日志,但流的一半没有到达目的地。奇怪的是,如果我不将日志保存到 ramfs 上的文件中,一切正常,即使流量相同,主机也会收到所有流:

socat -b1450 -u /dev/ueservice0 UDP4-DATAGRAM:${IPADDR}:4566

有谁知道 tee 导致一半数据包丢失的问题是什么?还有另一种方法吗?任何帮助将不胜感激!

4

0 回答 0