Я впервые использую Reactor-netty. Я пытался настроить клиент Reactor Netty и использовать клиентское соединение для отправки данных.
Вот то, что я пытался
private Connection connection;
Connection connectToTcp(String host, int port){
return TcpClient.create()
.host(host)
.port(port)
.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 10000)
.connectNow();
}
public void sendData(ByteBuffer buffer){
connection.outbound()
.sendObject(Flux.just(Unpooled.copiedBuffer(buffer.array())))
.then()
.subscribe();
}
но данные не передаются, пока я не избавлюсь. данные передаются только когда я вызываю
connection.onDispose().block();
Что я не хочу делать, так как хочу поддерживать соединение живым и использовать то же самое для отправки других данных
UPDATE
Это на самом деле работает ошибка была Unpooled.copiedBuffer(buffer.array())
. Создаваемый ByteBuff был огромен, что заставило сервер закрыть соединение. Это было исправлено путем замены на Unpooled.copiedBuffer(buffer.slice())