Spring Integration -TCP客户端在Windows上工作,但无法在UNIX中接收数据



我已经在Spring Boot中创建了一个TCP客户端,其中使用两个直接通道,一个用于输入流或输入流。问题是当我在Windows中运行它并与独立的服务器连接,该服务器将数据发送和接收到客户端,然后运行良好。但是,当我将罐子移至UNIX时,客户端发送了服务器收到的数据,但是当服务器将数据发送回客户端时,它将不会收到。

有什么想法吗?如何使用Spring Boot配置为此目的配置网关。

随着信息和配置的泄漏,我们只能假设问题与消息定界符有关。默认情况下,这在AbstactConnectionFactory中使用:

private volatile Deserializer<?> deserializer = new ByteArrayCrLfSerializer();
private volatile Serializer<?> serializer = new ByteArrayCrLfSerializer();

ByteArrayCrLfSerializer基于private static final byte[] CRLF = "rn".getBytes();消息定界符。

因此,这可能只是您的服务器发送带有特定器的消息,而客户端未能理解。

在文档中查看有关此类型的编解码器的更多信息:https://docs.spring.io/spring-integration/docs/current/current/referent/html/#message-demarcation-demarcation-serializers-andializers-and-serializers-and-deserializers>

最新更新