How to create a RSocket application with client and server in the same application?

Viewed 222

I am trying to make a project where I want to create one rsocket application that contains both server and client application. I tried a bunch of things but nothing seems to work can someone please help me with that ?

1 Answers

Take a look at LocalClientTransport and LocalServerTransport.

https://github.com/rsocket/rsocket-java/blob/d903e9635a159285b6943ea93156c31aa406ba5d/rsocket-transport-local/src/test/java/io/rsocket/transport/local/LocalPingPong.java

This should act like a connection over a websocket, or other transport but without the IO overhead.

    RSocketServer.create(new PingHandler())
        .payloadDecoder(PayloadDecoder.ZERO_COPY)
        .bind(LocalServerTransport.create("test-local-server"))
        .block();

    Mono<RSocket> client =
        RSocketConnector.create()
            .payloadDecoder(PayloadDecoder.ZERO_COPY)
            .connect(LocalClientTransport.create("test-local-server"));
Related