我想通过udp客户端发送大量udp消息,我怎么能实现呢?

I want to send numerous udp messages by udp client,how could I achieve it?

我想通过udp客户端一次发送大量udp消息,但是demo只发送一个message.how我可以实现吗?

使用演示代码,我只能发送有限数量的messages.I想用一段时间(真)发送消息,我怎么能实现?

public static void main(String[] args) { 连接连接= UdpClient.create() .host("localhost") .端口(8080) .handle((udpInbound, udpOutbound) -> { return udpOutbound.sendString(Mono.just("end")).sendString(Mono.just("end1")).sendString(Mono.just("end2")); }) .connectNow(Duration.ofSeconds(30)); connection.onDispose() 。堵塞(); }

当您想发送多条消息时,您可以使用 Flux 而不是 Mono。 与多次 sendString(Mono) 调用的方法相比,一次 sendString(Flux) 调用更好。 下面的示例使用 Flux.interval 以便您拥有每 100 毫秒发出消息的无限流。此外,当您有无限流时,您必须切换到 flush on each strategy

Connection connection =
        UdpClient.create()
                 .host("localhost")
                 .port(8080)
                 .handle((udpInbound, udpOutbound) ->
                         udpOutbound.options(NettyPipeline.SendOptions::flushOnEach)
                                    .sendString(Flux.interval(Duration.ofMillis(100))
                                                    .map(l -> l + "")))
                 .connectNow(Duration.ofSeconds(30));