必要条件:
我应该打开到同一个服务器IP的多个套接字/连接,并且
端口。
我应该检测请求来自哪个连接,并且
将响应重新路由到同一连接
连接表示为服务器IP和端口+客户端IP和
港口
每个连接必须是一次性的=false,它应该有多个请求/回复
我正在使用与tcpnetclientconnectionfactory协作的tcprecivingchanneladapter和tcpsendingmessagehandler。
以及动态生成这些连接的集成流。
如何为tcpnetclientconnectionfactory创建多个指向同一主机和端口的套接字?
我知道如何用新的tcpnetclientconnectionfactory(主机,端口)设置目的地。但我看不到或找不到如何影响使用哪个端口
是否应该使用多个tcpnetclientconnectionfactory完成此操作,每个tcpnetclientconnectionfactory都绑定到一个入站和出站tcp适配器?
如何为这些连接设置本地端口?或者至少如何获得它?
我似乎找不到任何关于这个选择的资料。最相似的是This question
最佳答案
您需要一个单独的连接工厂/适配器。
见TCP Connection Events。
使用ApplicationListener
或@EventListener
接收TcpConnectionEvent
s。
事件的getConnectionId()
同时包含本地和远程端口;该事件还具有连接工厂bean名称。
或者,您可以将getSource()
强制转换为TcpConnection
并调用getPort()
(但您不应以其他方式与TcpConnection
对象交互。