无法从组播端口中接收报文
项目中有一个用到组播的需求,需要在程序中接受服务端发出的组播报文。服务端的组播接口已配置好,可以用客户端上的wireshark抓到udp组播包。
接收报文的代码是用java写的,但是程序执行时却接收不到任何报文,执行到MuticastSocket的receive方法时日志中打印了warning,并且线程似乎异常退出了。我不是很清楚究竟是代码的问题还是组播配置的问题,请问是否有人遇到过这种情况,该怎么解决?
问题代码://在一个线程中接收组播报文
public void run()
{
MulticastSocket socketR = null;
try{
socketR = new MulticastSocket(8110);
socketR.joinGroup(InetAddress.getByName("233.0.0.7"));
socketR.setReceiveBufferSize(ConstantData.n_BufferSize);
}
catch (Exception e) {
AppLogger.error("失败!", e);
socketR.close();
return;
}
while(true)
{
try
{
byte[] bufferR = new byte[3072];
DatagramPacket dpR = new DatagramPacket(bufferR, b