Увеличьте размер байтового буфера в DatagramServerSpec - PullRequest
0 голосов
/ 25 февраля 2020

Я использую справочный пример, предоставленный в https://objectpartners.com/2014/11/18/udp-server-with-spring-boot-and-reactor/ для создания DatagramServerSpe c. Размер по умолчанию для байта [] составляет 2048 байтов. Я пытаюсь сделать это настраиваемым. Я попытался установить его с помощью ServerSocketOptions, но это, похоже, не работает.

Итак, мое определение bean-компонента DatagramServer выглядит следующим образом

@Bean
public DatagramServer<byte[], byte[]> datagramServer(Environment env) throws InterruptedException {       

    ServerSocketOptions sso = new ServerSocketOptions();
    sso.rcvbuf(10000);      
    sso.sndbuf(10000);

    final DatagramServer<byte[], byte[]> server = new DatagramServerSpec<byte[], byte[]>(NettyDatagramServer.class)
            .env(env)                
            .listen("0.0.0.0",Integer.valueOf(port))
            .options(sso)
            .codec(StandardCodecs.BYTE_ARRAY_CODEC)                
            .consumeInput(bytes -> log.info("Message {} and size {}", new String(bytes), bytes.length))
            .get();

    server.start().await();        
    return server;
}

Буду признателен за любые подсказки.

...