#rsocket
#rsocket
Вопрос:
Мой сервер может отклонить настройку клиента. Это может быть обнаружено на клиенте с помощью RSocket.OnClose().
Но есть ли способ определить, что соединение было успешно открыто, т. е. сервер принял установочную полезную нагрузку?
Я хотел бы что-то вроде onOpened (), которое запускалось бы при успешном выполнении как серверных, так и клиентских приемников.
Если я запускаю приведенный ниже код, вызывается принимающий клиент, даже если сервер отклонил настройку клиента, поэтому я не могу это использовать.
SocketAcceptor serverAcceptor = (setup, sendingSocket) ->
Mono.error(new RuntimeException("Setup rejected"));
RSocketServer.create(serverAcceptor)
.bind(TcpServerTransport.create("localhost", 7000))
.subscribe();
SocketAcceptor clientAcceptor = (setup, sendingSocket) -> {
logger.debug("Accepted");
return Mono.just(new RSocket() {});
};
RSocket socket = RSocketConnector.create()
.acceptor(clientAcceptor)
.connect(TcpClientTransport.create("localhost", 7000)).block();