当前位置: 首页 > 知识库问答 >
问题:

Spring integration-TCP连接客户端-从消息中获得主机/端口

乐正翰
2023-03-14

我知道这是一个类似于:Spring Integration的问题。未知主机和tcp-connection-factory

但是,在我的特殊情况下,TCP-连接是基于si消息流建立的。我正在编写一个程序,“伪造”用户登录到一个特定的网站通过TCP/IP连接。主机/端口每周都会发生变化,所以我更喜欢动态设置连接。因此,目标服务器的那些主机/IP不是静态的。

<int-ip:tcp-outbound-gateway id="outGateway"
request-channel="input"
reply-channel="clientBytes2StringChannel"
connection-factory="client"
connection-host="#{headers.dest.host}"
connection-port="#{headers.dest.port}"
request-timeout="10000"
reply-timeout="10000"/>


<int-ip:tcp-connection-factory id="client"
type="client"
host="#{headers.dest.host}"
port="#{headers.dest.port}"
single-use="true"
so-timeout="10000"/>

我知道我的用例很少,但它在我特定的业务逻辑中非常有用。我的整个webapp都是基于来自这些原始tcp-ip连接的消息运行的。

共有1个答案

沃阳曜
2023-03-14

即使您为tcp-connection-factory定制或扩展类,使其能够连接到不断变化的主机,目前还是不可能/不容易。JIRA中有一个开放的新特性请求来提供该功能。这里是西米拉问题。

 类似资料:
  • 我正在构建一个tcp客户端来接收和发送消息。我按照Netty用户指南中的步骤编写了一个简单的tcp客户端,其中包含一个扩展的自定义处理程序。 在hander中,我存储了< code > ChannelHandlerContext : 然后我有一个发送方法,它使用发送消息: 我发现的另一个选项是在客户机类中使用

  • 我使用这个(Android TCP连接增强的)教程来创建简单的JAVA TCPServer和Android TCPClient。它工作得很好,但使用这段代码我只能同时将一个设备连接到服务器。我必须更改什么才能连接多个设备?

  • 问题内容: 我使用nodejs(net module )在客户端和服务器之间创建了tcp连接。服务器正在侦听已经预定义的端口,而客户端正在连接到该端口。 据我了解,客户端的端口是由节点动态分配的?那是对的吗? 哪种算法节点用于为客户端分配“随机”端口?它是如何工作的,是由节点还是由操作系统决定的? 是否可以定义将要使用哪个客户端的静态端口?是否可以定义供客户端使用的端口范围? 注意:我想我之前在找

  • 问题内容: 一切工作正常,但问题是当我在地图上定位时什么都没发生我注册了我的谷歌地图,我在这里做了所有说明 http://code.google.com/intl/pl/android/add-ons/google- apis/mapkey.html 我可以看到地图,可以放大和缩小,但是当我搜索位置时,会在logcat中找到它 这是我的Java代码 有什么帮助吗?提前致谢 问题答案: 如果您在AP

  • 问题内容: 我要进行最简单的解释。我的Java TCP项目有一个服务器和三个客户端。 服务器具有一个ClientThread。每个客户端都有一个ServerThread和一个UserThread。 工作流程为: 1.客户端(例如,client_0)的UserThread获取用户输入,然后将消息发送到服务器。 2.服务器的ClientThread捕获来自client_0的消息,并将另一条消息发送到另

  • 问题内容: 我要进行最简单的解释。我的Java TCP项目有一个服务器和三个客户端。 服务器具有一个ClientThread。每个客户端都有一个ServerThread和一个UserThread。 工作流程为: 1.客户端(例如,client_0)的UserThread获取用户输入,然后将消息发送到服务器。 2.服务器的ClientThread捕获来自client_0的消息,并将另一条消息发送到另