java 组播接受发送数据的程序

组播的原理暂时不介绍了,对网络这一块不太熟,大家可以查看其他专业的介绍。我在这里提供了一组组播发送,接受的例子,大家可以直接在IDE里面跑起来,根据注释学习怎么写的。组播组由D类IP地址和标准UDP端口号指定。D类IP地址在224.0.0.0至23.255.255.255范围内。地址224.0.0.0是保留的,不应该使用。首先创建具有所需端口的组播套接字,然后调用joinGroup(InetAddress groupAddr)方法,可以加入组播组:

   **//发送组播数据**
package MulticastClient;
import java.net.*;
public class MulticastClient{
    String groupHost="232.0.0.1"; //组播组虚拟IP
    int port=5678; //端口
    public MulticastClient(){
        try{
            byte[] message = "Hello,This is Client.".getBytes(); //发送信息
            InetAddress inetAddress = InetAddress.getByName(groupHost); //组播地址
            DatagramPacket datagramPacket= new DatagramPacket(message, message.length, inetAddress, port); //发送数据报
            DatagramSocket socket = new DatagramSocket(); //DatagramSocket实例
            socket.send(datagramPacket); //发送数据
            socket.close(); //关闭端口
        }
        catch (Exception exception) {
            exception.printStackTrace();  //输出错误信息
        }
    }
    public static void main(String[] args){
        new MulticastClient();
    }
}

  **// 接受组播数据**
   package MulticastClient;
import java.net.*;
public class MulticastServer{
    String groupHost="232.0.0.1";  //组播组虚拟IP
    int port=5678;  //端口
    public MulticastServer(){
        try{
            MulticastSocket multicastSocket = new MulticastSocket(port); //MulticastSocket实例
            InetAddress inetAddress = InetAddress.getByName(groupHost); //组地址
            multicastSocket.joinGroup(inetAddress); //加入到组播组中
           while (true){
                byte[] received = new byte[128]; //接收数据缓冲
                DatagramPacket datagramPacket = new DatagramPacket(received, received.length); //接收数据的数据报
                multicastSocket.receive(datagramPacket); //接收数据
                System.out.println(new String(received)); //输出接收到的数据
            }
        }
        catch (Exception exception){
            exception.printStackTrace(); //输出出错信息
        }
    }
    public static void main(String [] arstring){
        new  MulticastServer();  
    }

这是最终结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43248125/article/details/83541984
今日推荐