标签:
项目需要,需要编写协议转发服务器,和机顶盒通讯使用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<DatagramPacket> { @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;
标签:
原文地址:http://my.oschina.net/u/261246/blog/479095