项目需要,需要编写协议转发服务器,和机顶盒通讯使用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;
时间: 2024-10-23 10:43:35