Dmitry Evgrafoov
Dmitry Evgrafoov

Reputation: 13

SpringBoot IntegrationFlow Tcp.inboundGateway how to send client message on connect

I need send to client message on connect!

org.springframework.integration

spring-integration-ip

version 5.5.14

@Bean
    public IntegrationFlow server() {
        return IntegrationFlows.from(
                Tcp.inboundGateway(
                        Tcp.nioServer(socketPort)
                                //   Tcp.netServer(socketPort)
                                .deserializer(SERIALIZER)
                                .serializer(SERIALIZER)
                        //    .tcpSocketSupport(new TcpSocketSupportX())

                )
        )
                .channel("tcpInbound")

                .get();
    }

Upvotes: 0

Views: 180

Answers (1)

Dmitry Evgrafoov
Dmitry Evgrafoov

Reputation: 13

I'v got it

    @EventListener
    public void tcpConnectionOpenEvent(TcpConnectionOpenEvent ev) {
        log.info("*** tcpConnectionOpenEvent  {}",ev.getConnectionId());
    }

    @EventListener
    public void  tcpConnectionEvent(TcpConnectionEvent ev) {

                Message<String> message = MessageBuilder
                        .withPayload("Hello client")
                        .setHeader(IpHeaders.CONNECTION_ID, ev.getConnectionId())
                        .build();
        ((TcpNioConnection)ev.getSource()).send(message);

    }

Upvotes: 0

Related Questions