双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

关于IP组播客户端运行总是卡死的问题,各位大神帮帮忙!急!

jxls080511 jxls080511 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
try
{
new Client().setVisible(true);
MulticastClient.IP = "228.5.6.7"; //组播IP地址
MulticastClient.toIPAddr();
MulticastClient.port = 6789;
MulticastClient.localHost = InetAddress.getLocalHost();
lb.setText("本机IP地址:"+MulticastClient.localHost.getHostAddress());
MulticastSocket mulSocket = new MulticastSocket(MulticastClient.port);
InetAddress mulGroup = InetAddress.getByAddress(MulticastClient.IPAddr); //组播IP地址
byte[] buf = new byte[1000];
DatagramPacket packet = new DatagramPacket(buf, buf.length);

mulSocket.joinGroup(mulGroup); //加入组
mulSocket.receive(packet); //接收数据包
msg = new String(packet.getData(), 0, packet.getLength()); //提取数据包里的信息

//如果是“quit”指令则终止程序,否则输出消息
while (msg.compareTo("quit") != 0)
{
tb_output.setValueAt(msg, i, 0);
mulSocket.receive(packet); //继续接收数据
msg = new String(packet.getData(), 0, packet.getLength());
i++;
}

tb_output.setValueAt("直播结束,谢谢观看!", i, 0);
mulSocket.leaveGroup(mulGroup);
mulSocket.close(); //关闭套接字
i = 0;
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
});
}


问题出在mulSocket.receive(packet)上面,不知如何修改
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
jxls080511
Java SE 62,621 成员 307,251 内容