我的Tcp服务器在弹簧集成方面运行良好。我使用以下bean:
<int-ip:tcp-connection-factory id="tcpServerFactory"
type="server"
port="9000"
single-use="true"
so-timeout="10000"
using-nio="false"
serializer="connectionSerializeDeserialize"
deserializer="connectionSerializeDeserialize"
task-executor="taskExecutor"
/>
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="5" />
<property name="maxPoolSize" value="100" />
<property name="queueCapacity" value="25" />
</bean>
<bean id="connectionSerializeDeserialize" class="org.springframework.integration.ip.tcp.serializer.ByteArrayStxEtxSerializer"/>
<int-ip:tcp-inbound-gateway id="gatewayStxEtx"
connection-factory="tcpServerFactory"
request-channel="requestChannel"
error-channel="tcpErrorChannel"
reply-timeout="10000"
/>
如果收到格式正确的消息(STX和ETX之间的数据),我的客户端会发送ACK。如果接收数据有任何错误,它将发送NAK。在Tcp服务器上,我需要读取客户端发送的ACK / NAK。如果客户端发送ACK,那么服务器不需要做任何事情。如果客户端发送NAK,则服务器需要将数据重新发送回客户端。
是否有任何序列化器在spring集成中处理ACK / NAK? 如果没有,请建议在何处以及如何处理ACK / NAK?
由于