MulticastSocket类的使用

来源:互联网 发布:软件产业基地 地铁 编辑:程序博客网 时间:2024/06/07 15:01

转自:
    http://blog.sina.com.cn/s/blog_4ac779c9010005z0.html

写了个MulticastSocket的程序,以作备忘:
import java.io.*;
import java.net.*;
import java.util.*;
public class MulticastClient
{
    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();
 }
}
0 0