如何使TCP客户端发送请求并接收响应。也接受从服务器推送的消息

时间:2017-06-14 18:18:36

标签: java spring spring-integration tcpclient tcp-ip

我必须创建一个tcp客户端

1) - 它将向服务器发送请求消息并接收响应

2) - 有时候服务器将msg发送到客户端而没有来自clientSo客户端的任何请求应该接受并阅读它。

所以我已经问了问题的一部分My tcp client using spring integration not able to get response 并尝试达成一些解决方案。但对于第二部分,我很困惑使用tcpoutbound网关或inboundgateway与客户端标志启用。 如果我想阅读服务器推送的消息,请建议任何示例或配置。

P.s我是SI的新手

1 个答案:

答案 0 :(得分:0)

你不能使用网关;它们用于简单的请求/回复场景。

对于对等体之间的任意消息传递,请参阅Collaborating Channel Adapters

部分
  

要实现高容量吞吐量(避免如上所述使用网关的缺陷),您可以考虑配置一对协作的出站和入站通道适配器。也可以使用协作适配器(服务器端或客户端)进行完全异步通信(而不是使用请求/回复语义)。在服务器端,消息相关性由适配器自动处理,因为入站适配器添加了一个标头,允许出站适配器确定用于发送回复消息的连接。

     

在服务器端,必须注意填充ip_connectionId标头,因为它用于将消息与连接相关联。源自入站适配器的邮件将自动设置标头。如果要构建要发送的其他消息,则需要设置标头。可以从传入消息中捕获标头值。

     

在客户端,如果需要,应用程序必须提供自己的关联逻辑。这可以通过多种方式完成。 ...