我计划将 Linux 机器的本地端口上接收的原始 TCP 数据转发到 Windows 服务器。
转发由运行在 Linux 机器上的 Java 应用程序完成。运行在 Windows 服务器上的 .NET 应用程序接收并处理此原始数据。
我读到过一些文章说 Linux 和 Windows 中 LF 和 CR 的处理方式不同。有人在 Linux 和 Windows 之间传输原始 TCP 数据时遇到过问题吗?
答案1
您可以使用 nping 等工具发送特制的数据包。在 Linux 中,换行符 \n 将转到下一行,在 Windows 中,换行符和回车符将转到下一行 \r\n
答案2
这只有在逐行读取和/或写入数据时才会成为问题,而转发原始数据时不会这样做。如果只是逐个数据包转发,则不会执行任何处理,数据将完全相同。
出于同样的原因,由于数据是以字节形式读取的,而不是通过“文本阅读器”或类似程序读取的,所以行尾和潜在编码(例如 UTF-8)都不会产生影响。