客户端不能获得数据,不知道哪里出错了..请大家指教下.
public class MCSserver { public static void main(String[] args){
try{
MulticastSocket mcs = new MulticastSocket();
byte[] b = new byte[0];
InetAddress ia = InetAddress.getByName("231.0.0.0");
DatagramPacket dgp = new DatagramPacket(b,0,ia,4321);
for(int i = 0;i<10;i++){
byte[] d = new String("sss"+i).getBytes();
dgp.setData(d);
dgp.setLength(d.length);
mcs.send(dgp);
}
System.out.println("MCSserver over 1");
mcs.close();
System.out.println("MCSserver over 2");
}catch(IOException io){
System.out.println("MCSserver IOException"+io);
}
}
}public class MCScline_1 {
public static void main(String[] args) {
try{
MulticastSocket mcs = new MulticastSocket(4321);
System.out.println("MCScline_1 over 1");
InetAddress ia = InetAddress.getByName("231.0.0.0");
System.out.println("MCScline_1 over 2");
mcs.joinGroup(ia);
System.out.println("MCScline_1 over 3");
for(int i = 0;i<10;i++){
byte[] b = new byte[256];
DatagramPacket dgp = new DatagramPacket(b,b.length);
System.out.println("MCScline_1 over "+i);
mcs.receive(dgp);//运行不了??
//System.out.println("MCScline_1 over "+i);
byte[] d = new byte[dgp.getLength()];
System.arraycopy(dgp.getData(), 0, d,0, dgp.getLength());
System.out.println(new String(d));
}
System.out.println("MCScline_1 over");
mcs.leaveGroup(ia);
System.out.println("MCScline_1 over");
mcs.close();
System.out.println("MCScline_1 over");
}catch(IOException io){
System.out.println("MCScline_1 IOException "+io);
}
}}先谢谢大家
public class MCSserver { public static void main(String[] args){
try{
MulticastSocket mcs = new MulticastSocket();
byte[] b = new byte[0];
InetAddress ia = InetAddress.getByName("231.0.0.0");
DatagramPacket dgp = new DatagramPacket(b,0,ia,4321);
for(int i = 0;i<10;i++){
byte[] d = new String("sss"+i).getBytes();
dgp.setData(d);
dgp.setLength(d.length);
mcs.send(dgp);
}
System.out.println("MCSserver over 1");
mcs.close();
System.out.println("MCSserver over 2");
}catch(IOException io){
System.out.println("MCSserver IOException"+io);
}
}
}public class MCScline_1 {
public static void main(String[] args) {
try{
MulticastSocket mcs = new MulticastSocket(4321);
System.out.println("MCScline_1 over 1");
InetAddress ia = InetAddress.getByName("231.0.0.0");
System.out.println("MCScline_1 over 2");
mcs.joinGroup(ia);
System.out.println("MCScline_1 over 3");
for(int i = 0;i<10;i++){
byte[] b = new byte[256];
DatagramPacket dgp = new DatagramPacket(b,b.length);
System.out.println("MCScline_1 over "+i);
mcs.receive(dgp);//运行不了??
//System.out.println("MCScline_1 over "+i);
byte[] d = new byte[dgp.getLength()];
System.arraycopy(dgp.getData(), 0, d,0, dgp.getLength());
System.out.println(new String(d));
}
System.out.println("MCScline_1 over");
mcs.leaveGroup(ia);
System.out.println("MCScline_1 over");
mcs.close();
System.out.println("MCScline_1 over");
}catch(IOException io){
System.out.println("MCScline_1 IOException "+io);
}
}}先谢谢大家
这是客户端处理的结果:
MCScline_1 over 1
MCScline_1 over 2
MCScline_1 over 3
MCScline_1 over 0
sss0
MCScline_1 over 1
sss1
MCScline_1 over 2
sss2
MCScline_1 over 3
sss3
MCScline_1 over 4
sss4
MCScline_1 over 5
sss5
MCScline_1 over 6
sss6
MCScline_1 over 7
sss7
MCScline_1 over 8
sss8
MCScline_1 over 9
sss9
MCScline_1 over
MCScline_1 over
MCScline_1 over