(对不起我糟糕的英语)。
今天,我想将所有数据从一个端口重定向到另一个端口。(就像 socat 或 netcat,但由于它们的许可证,我不能使用这些工具)。
我的数据未定义(因此不是开始位或停止位)并且长度不同。
- 从以太网端口到以太网端口很容易(有以太网头)。
- 从以太网端口到串行端口也很容易(有以太网头知道帧的开始和结束,因此在切割数据后将数据发送到串行端口)。
但我的问题是从串口到以太网端口。如果我没有标头,我如何知道何时从串口收到全帧?因为在重定向以太网端口中的数据之前,我需要接收所有数据,并且只有在转换为以太网帧之后,我们同意吗?
我想到了这个解决方案:我可以定义一个帧间延迟,如果两个串行数据字节之间的时间小于帧间延迟,则数据在同一帧中,我等待下一个数据再将帧转换为一个以太网帧。