Windows下可以正常广播,但是Linux下就不行。
// UDP
connector = new NioDatagramConnector();
connector.getFilterChain().addLast("codec",
new ProtocolCodecFilter(ConfigMgr.getInstance().getKJLJProtocolCodecFactory()));
// 设置连接超时检查时间
connector.setConnectTimeoutCheckInterval(ConfigMgr.getInstance().getClientConnectTimeoutCheckInterval());
connector.setHandler(ConfigMgr.getInstance().getClientIoHandler());
ConnectFuture connectFuture = connector.connect(new InetSocketAddress(ip, port));
DatagramSessionConfig dataGramSessionConfig = (DatagramSessionConfig)connector.getSessionConfig();
dataGramSessionConfig.setBroadcast(true);
// 等待建立连接
connectFuture.awaitUninterruptibly();
System.out.println("udp连接成功");
IoSession session = connectFuture.getSession();
WriteFuture wf = session.write(msg);
wf.awaitUninterruptibly();
connector.dispose(true);