MulticastSocket的receive方法一直报错 就算按照JDK上面的列子还是报错,懂的人进来指导下 谢谢
JDK 1.6的例子如下:
String msg = "Hello";
InetAddress group = InetAddress.getByName("228.5.6.7");
MulticastSocket s = new MulticastSocket(6789);
s.joinGroup(group);
DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),
group, 6789);
s.send(hi);
// get their responses!
byte[] buf = new byte[1000];
DatagramPacket recv = new DatagramPacket(buf, buf.length);
s.receive(recv);
...
// OK, I'm done talking - leave the group...
s.leaveGroup(group);
我的代码如下:
public static void main(String[] args) throws Exception{
String msg = "Hello";
InetAddress group = InetAddress.getByName("228.5.6.7");
MulticastSocket s = new MulticastSocket(6789);
s.setSoTimeout(10000);
s.joinGroup(group);
DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),
group, 6789);
s.send(hi);
// get their responses!
byte[] buf = new byte[1000];
DatagramPacket recv = new DatagramPacket(buf, buf.length);
s.receive(recv);
String message = String.valueOf(recv);
System.out.println(message);
// OK, I'm done talking - leave the group...
System.out.println("111111111");
s.leaveGroup(group);
}
结果一直抛
Exception in thread "main" java.net.SocketTimeoutException: Receive timed out
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
at java.net.DatagramSocket.receive(DatagramSocket.java:712)
at testFrame.main(testFrame.java:19) 这种异常 不知道为什么 还望不惜赐教
String msg = "Hello";
InetAddress group = InetAddress.getByName("228.5.6.7");
MulticastSocket s = new MulticastSocket(6789);
s.joinGroup(group);
DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),
group, 6789);
s.send(hi);
// get their responses!
byte[] buf = new byte[1000];
DatagramPacket recv = new DatagramPacket(buf, buf.length);
s.receive(recv);
...
// OK, I'm done talking - leave the group...
s.leaveGroup(group);
我的代码如下:
public static void main(String[] args) throws Exception{
String msg = "Hello";
InetAddress group = InetAddress.getByName("228.5.6.7");
MulticastSocket s = new MulticastSocket(6789);
s.setSoTimeout(10000);
s.joinGroup(group);
DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),
group, 6789);
s.send(hi);
// get their responses!
byte[] buf = new byte[1000];
DatagramPacket recv = new DatagramPacket(buf, buf.length);
s.receive(recv);
String message = String.valueOf(recv);
System.out.println(message);
// OK, I'm done talking - leave the group...
System.out.println("111111111");
s.leaveGroup(group);
}
结果一直抛
Exception in thread "main" java.net.SocketTimeoutException: Receive timed out
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
at java.net.DatagramSocket.receive(DatagramSocket.java:712)
at testFrame.main(testFrame.java:19) 这种异常 不知道为什么 还望不惜赐教
...全文
相关推荐
udp协议播放器.docx
Java从JDK 1.1开始支持多播套接字(MulticastSocket),允许开发者方便地实现多播功能。创建多播套接字并指定端口后,可以向多播组发送数据。
Java基础中级进阶篇六之网络编程(详解篇十八)
} };} // 注意:仅用于开发/测试环境!生产环境必须验证证书!} } };} // 注意:仅用于开发/测试环境!生产环境必须验证证书!} } };} // 注意:仅用于开发/测试环境!生产环境必须验证证书!} } };} // 注意:仅用于开发/测试环境!生产环境必须验证证书!} } };} // 注意:仅用于开发/测试环境!生产环境必须验证证书!
基于UDP的JAVA网络编程
**配置**:配置环境变量,确保JRE和JDK路径正确设置;添加JMF到项目构建路径中。
科技服务机构如何通过数据分析增强服务专业性?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
全国大学生电子设计大赛项目合集全国电赛优秀作品全国大学生电子设计竞赛,简易风洞及控制系统(主控板+供电驱动)工程文件分享
全国大学生电子设计大赛项目合集全国电赛优秀作品全国大学生电子设计竞赛,简易风洞及控制系统(主控板+供电驱动)工程文件分享


Java SE
