如何配置Spring接收TCP连接,然后通过它发送数据?我将数据存储在RabbitMQ队列中,我需要通过传入连接发送此数据。
根据documentation,我假设客户端的工作时间为client-mode=true
。我找到了一个关于如何在这个用例中作为客户端行为的示例,但我找不到服务器端的示例。有人能指出我正确的方向吗?
我不确定这是否是一个标准的用例,我似乎向后看客户端正在启动连接而不是服务器,但我对TCP没什么经验。
答案 0 :(得分:1)
您不需要客户端模式;当您希望入站适配器启动套接字打开时。将TcpSendingMessageHandler
与服务器连接工厂一起使用,以侦听端口。
添加一个ApplicationListener
bean,用于监听TcpConnectionOpenEvent
see TCP Connection Events。
该事件将具有连接ID,您必须捕获该消息并在消息头(IpHeaders.CONNECTION_ID
)中为发送的任何消息设置,因此适配器知道将消息发送到何处。