Netty UDP 使用采坑

使用Netty搭建UDP服务收集日志,使用过程中发现,部分日志接收不到,排查发现,都是大日志记录不到,后查询相关文档进行如下修改

EventLoopGroup workerGroup = new NioEventLoopGroup(20);
        try {
            Bootstrap b = new Bootstrap();
            b.group(workerGroup);
            b.channel(NioDatagramChannel.class);
            b.option(ChannelOption.SO_BROADCAST, true);
            b.option(ChannelOption.SO_RCVBUF, 2048 * 2048);
            b.handler(udpInboundHandler);
            ChannelFuture f = b.bind(port).sync();
            f.channel().closeFuture().sync();
        } finally {
            workerGroup.shutdownGracefully();
        }

添加缓存配置后,大日志就接收得到了

 

参考文档:

https://www.jianshu.com/p/975b30171352

转载于:https://www.cnblogs.com/fqybzhangji/p/11597059.html

Netty是一个高性能、异步事件驱动的网络应用程序框架,它支持多种传输协议,包括TCP、UDP、HTTP、WebSocket等。 下面是一个简单的Netty UDP客户端的示例代码: ```java public class UdpClient { public static void main(String[] args) throws Exception { // 创建 Bootstrap 对象 Bootstrap bootstrap = new Bootstrap(); // 设置 EventLoopGroup 对象 EventLoopGroup group = new NioEventLoopGroup(); try { // 配置 Bootstrap 对象 bootstrap.group(group) .channel(NioDatagramChannel.class) .option(ChannelOption.SO_BROADCAST, true) .handler(new UdpClientHandler()); // 绑定端口并启动客户端 Channel channel = bootstrap.bind(0).sync().channel(); // 发送数据 channel.writeAndFlush(new DatagramPacket( Unpooled.copiedBuffer("Hello, Netty UDP", CharsetUtil.UTF_8), new InetSocketAddress("255.255.255.255", 8080))).sync(); // 等待关闭 channel.closeFuture().await(); } finally { // 关闭 EventLoopGroup 对象 group.shutdownGracefully(); } } } class UdpClientHandler extends SimpleChannelInboundHandler<DatagramPacket> { @Override protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket msg) throws Exception { // 接收到响应数据 ByteBuf buf = msg.content(); System.out.println(buf.toString(CharsetUtil.UTF_8)); } } ``` 此示例中,我们创建了一个Bootstrap对象,设置了NioEventLoopGroup和UDP通道,然后绑定端口并发送数据。我们还定义了一个UdpClientHandler类来处理接收到的响应数据。 在发送数据时,我们使用DatagramPacket对象指定要发送的数据和目标地址。在接收响应数据时,我们使用SimpleChannelInboundHandler类的channelRead0()方法来处理接收到的数据。 这只是一个简单的示例,你可以根据需要自定义Netty UDP客户端的行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值