使用netty4.x 编写UDP服务器遇到的狗血问题

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

项目需要,需要编写协议转发服务器,和机顶盒通讯使用udp协议

流程:

接收协议->解析->路由->写入log->转发到指定设备.

之前有研究过netty框架,觉得比较轻便,就打算用这个框架来实现,参考官方的simple写了一个测试用例;

发现程序中udp数据怎么都接收不到.

用tcpdump -X udp port 7887听了下包,机器是收到的;

开始找问题.....

bla..bla...bla....

import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import java.net.DatagramPacket;

/**
 * Created by konbluesky
 * Date : 15/7/16 上午12:37
 */
public class UDPServerHandler extends SimpleChannelInboundHandler {

    @Override
    public void channelRegistered(ChannelHandlerContext ctx) throws Exception {
        super.channelRegistered(ctx);
        System.out.println("连接创建");
    }

    @Override
    protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket msg) throws Exception {
        ctx.writeAndFlush(msg);
        System.out.println("数据读取");
    }
}

怎么比对代码都没有错误,最后逐行查看发现;

import包错了,import部分又正好被ide隐藏了....这种狗血的问题..太让人崩溃了...还是不够仔细啊!!!!!!!!

//正确
import io.netty.channel.socket.DatagramPacket;
//错误
//import java.net.DatagramPacket;



转载于:https://my.oschina.net/u/261246/blog/479095

你可能感兴趣的:(使用netty4.x 编写UDP服务器遇到的狗血问题)