#tcp #spring-integration
#tcp #spring-интеграция
Вопрос:
вероятно, это простой способ сделать,
Чего я хочу, так это: у меня есть tcp-сервер, который прослушивает входящее соединение. Я хотел бы каким-то образом получать информацию о подключении клиента. TcpNetServerConnectionFactory имеет внутри такую информацию «Принятое соединение …».
Существует класс TcpConnectionSupport, однако я не могу найти способ его использования. Я ищу что-то похожее на шаблон подписчика.
Есть ли какой-нибудь способ сделать это?
Комментарии:
1. Я, честно говоря, понятия не имею, о чем вы спрашиваете. Не могли бы вы опубликовать проделанную вами работу, например, код вашего tcp-сервера. Какие компоненты вы используете для интеграции с Spring? Spring — довольно большой проект, какие части spring вы используете?
Ответ №1:
С одной стороны, неясно, как вы хотите реализовать subscriber pattern
, если это готовая функция Spring Integration <int-ip:tcp-inbound-channel-adapter connection-factory="connectionFactory"/>
. Когда новое соединение от клиента установлено и клиент начинает отправлять данные, этот компонент будет готов принять их и преобразовать в message
channel
поток для дальнейшей интеграции.
С другой стороны, есть ApplicationEvent
инфраструктура, и когда соединение открыто, TcpNetServerConnectionFactory
оно выдает TcpConnectionOpenEvent
. Вы можете прослушать это событие с помощью <int-event:inbound-channel-adapter event-types="org.springframework.integration.ip.tcp.connection.TcpConnectionOpenEvent"/>
. И снова: это будет поток сообщений.