public static void main(String[] args) throws IOException
{
MulticastSocket socket = new MulticastSocket(4446);
InetAddress address = InetAddress.getByName("230.0.0.1");
socket.joinGroup(address);
DatagramPacket packet;
//发送数据包
byte[] buf = "Hello,This is a member of multicast!".getBytes();
packet = new DatagramPacket(buf, buf.length,address,4445);
socket.send(packet);
//接收数据包并打印
byte[] rev = new byte[512];
packet = new DatagramPacket(rev, rev.length);
socket.receive(packet);
String received = new String(packet.getData()).trim();
System.out.println("received: " + received);
//退出组播组,关闭socket
socket.leaveGroup(address);
socket.close();
}
}
---------------------------------------
import java.io.*;
import java.net.*;
import java.util.*;
public class AMulticastClient
{
public static void main(String[] args) throws IOException
{
MulticastSocket socket = new MulticastSocket(4445);
InetAddress address = InetAddress.getByName("230.0.0.1");
socket.joinGroup(address);
DatagramPacket packet;
//接收数据包
byte[] buf = new byte[512];
packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);
//打印数据包
String received = new String(packet.getData()).trim();
System.out.println("received: " + received);
//发送数据包
byte[] sen=received.getBytes();
packet=new DatagramPacket(sen,sen.length,address,4446);
socket.send(packet);
//退出组播组,关闭socket
socket.leaveGroup(address);
socket.close();
}
}