0

(对不起我糟糕的英语)。

今天,我想将所有数据从一个端口重定向到另一个端口。(就像 socat 或 netcat,但由于它们的许可证,我不能使用这些工具)。

我的数据未定义(因此不是开始位或停止位)并且长度不同。

  • 从以太网端口到以太网端口很容易(有以太网头)。
  • 从以太网端口到串行端口也很容易(有以太网头知道帧的开始和结束,因此在切割数据后将数据发送到串行端口)。

但我的问题是从串口到以太网端口。如果我没有标头,我如何知道何时从串口收到全帧?因为在重定向以太网端口中的数据之前,我需要接收所有数据,并且只有在转换为以太网帧之后,我们同意吗?

我想到了这个解决方案:我可以定义一个帧间延迟,如果两个串行数据字节之间的时间小于帧间延迟,则数据在同一帧中,我等待下一个数据再将帧转换为一个以太网帧。

4

1 回答 1

0

如果您在串行端口上使用以太网编码,包括标头,您应该可以更轻松地确定数据包边界。

还要查看现有的 tihs 工具,例如好的旧 SLIP

于 2013-10-02T09:45:42.297 回答