通过socat复制UDP流

时间:2013-07-11 13:17:20

标签: linux stream socat

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

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

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

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

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

0 个答案:

没有答案