我想通过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));
我想通过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));